Вы можете использовать Set
класс до сопоставления массивов с объектами (и обратно ), как указано в этом сообщении в блоге .
CakePHP (еще в дни совместимости с PHP 4) решил использовать массивы над объектами, поскольку PHP упакован множеством функций манипулирования массивами, которые облегчают работу с массивами.PHP любит массивы, поэтому я полагаю, что в то время имело смысл сбалансировать сильные стороны PHP с хорошими шаблонами проектирования.
Я считаю, что модели CakePHP 2.0 по-прежнему будут возвращать массивы (я полагаю, для обратной совместимости), хотя вы можетепосмотрите на Lithium Framework - который начал свою жизнь, намереваясь стать CakePHP 3.0 (поддерживающим только PHP 5.3+) - или другой из платформ PHP 5+.
Эти новые платформы имеют тенденциюв полной мере воспользоваться преимуществами новых функций OOP , доступных в PHP 5, *1019* и стремиться возвращать записи в виде объектов (см. модели в Lithium API и manual ).