CakePHP返回嵌套数组,而不返回Model->find
方法的对象集合。
CakePHP是否提供了一种检索模型集合的方法?
答案 0 :(得分:1)
不,不管你喜不喜欢,cake使用多维数组作为数据(对于通常的CRUD函数)。但是如果你愿意,你可以重新定义find方法以将数组映射到对象中。
答案 1 :(得分:1)
您可以使用Set
class中列出的map arrays to objects至back again(和this blog post)。
CakePHP(回到PHP 4兼容日)选择在对象上使用数组,因为PHP包含了大量的数组操作函数,这使得使用数组变得容易。 PHP喜欢数组,所以我认为在当时平衡PHP的优势和良好的设计模式是有意义的。
我相信CakePHP 2.0模型仍然会返回数组(我假设是为了向后兼容),尽管你可能想看一下Lithium framework - 它开始生活的意图是CakePHP 3.0(仅支持PHP 5.3+) - 或者另外一个PHP 5+框架。
这些较新的框架倾向于更充分地利用PHP 5的newer OOP features,并倾向于将记录作为对象返回(参见:Lithium API和manual中的模型)。
答案 2 :(得分:0)
你可以在afterFind()中转换。但你为什么需要呢?