在cakePHP查找操作中只有一个关于orderBy的快速问题。假设我有3个相互关联的模型。当我在我的3个模型中的任何一个上进行find('all')
cakePHP查询时,我得到的结果还包括来自其他2个模型的数据。例如,假设我的模型是:
1- User
2- School
3- Country
如果我在$this->find('all')
内进行UsersController
,因为我的三个模型连在一起,我会得到这样的结果:
Array
(
[0] => Array
(
[User] => Array
(
[id] => 'the_auto_incrementing_id'
// other table columns
[created] 'creation_date'
[modified] 'modification_date'
)
[School] => Array
(
[id] => 'the_auto_incrementing_id'
// other table columns
[created] 'creation_date'
[modified] 'modification_date'
)
[Country] => Array
(
[id] => 'the_auto_incrementing_id'
// other table columns
[created] 'creation_date'
[modified] 'modification_date'
)
)
)
我的问题是,虽然find('all')
模型启动了我的User
查询,但是orderBy
是否可以说模型created
字段School
1}}例如?
如果可以的话,请告诉我
谢谢
答案 0 :(得分:1)
如果您尝试从用户,学校和国家/地区获取所有相关数据,但按School.created
排序(根据您的示例),则可以从学校模型运行查询。
我假设你在用户控制器中 - 如果是这样,那就是这样:
$myData = $this->User->School->find('all', array('order'=>'School.created DESC'));
(无需加载学校模型,因为它已链接, - 所以你只需通过用户模型引用它)