Это довольно хороший вопрос!Я не уверен, почему CakePHP делает это и сам удивлялся тому же самому.Я только вкопался в «внутренности» Cake и не углублялся в этот аспект фреймворка.
Если бы я рискнул ...
Это побочный эффект ORM от Cake.ORM, который поставляется с Cake, по крайней мере , на мой взгляд , довольно приятен и позволяет вам делать очень сложные запросы практически без исходного SQL или без него.Я уверен, что это одна из причин популярности Cake.Он превращает сложные операторы SQL в относительно простую структуру многомерного массива как при создании запроса, так и при возврате данных.
Еще один аспект Cake, который может повлиять на это, - это их «соглашение оконфигурация "философия.Я уверен, что на стороне разработки проще вернуть ту же самую общую структуру массива, а не пытаться оптимизировать для необработанного SQL.Рискну поспорить, что большинство запросов Cake производятся через ORM, а не необработанные запросы, написанные разработчиком.Оптимизация для них может не иметь смысла с точки зрения разработки.
Опять же, это всего лишь моя несколько образованная догадка .