CakePHP 为该Model->find
方法返回嵌套数组并且没有对象集合。CakePHP 是否提供了一种检索模型集合的方法?
问问题
1507 次
3 回答
1
不,不管你喜不喜欢,cake 使用多维数组作为数据(用于通常的 CRUD 函数)。但是,如果您愿意,您可以重新定义 find 方法以将数组映射到对象。
于 2011-08-11T08:23:01.627 回答
1
您可以使用Set
该类将数组映射到对象(然后再返回),如本博文中所述。
CakePHP(早在 PHP 4 兼容时代)选择使用数组而不是对象,因为 PHP 包含大量数组操作函数,这些函数使处理数组变得容易。PHP 喜欢数组,所以我认为在当时平衡 PHP 的优势和良好的设计模式是有意义的。
我相信 CakePHP 2.0 模型仍会返回数组(我假设是为了向后兼容),尽管您可能想查看Lithium 框架——它开始时打算成为 CakePHP 3.0(仅支持 PHP 5.3+)——或另一个 PHP超过 5 个框架。
这些较新的框架倾向于更充分地利用 PHP 5 的新 OOP 特性,并倾向于将记录作为对象返回(参见:Lithium API中的模型和手册)。
于 2011-08-11T13:08:57.653 回答
0
您可以在 afterFind() 中进行转换。但是你为什么需要那个?
于 2011-08-11T09:29:53.057 回答