1

只是一个关于 cakePHP 查找操作中 orderBy 的快速问题。假设我有 3 个相互关联的模型。当我find('all')对我的 3 个模型中的任何一个进行 cakePHP 查询时,我得到的结果还包括来自其他 2 个模型的数据。例如,假设我的模型是:

1- User
2- School
3- Country

如果我做$this->find('all')inside 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

请让我知道这是否可能

谢谢

4

1 回答 1

1

如果您尝试从用户、学校和国家/地区获取所有相关数据,但按School.created(根据您的示例)排序,您可以只从学校模型运行查询。

我假设您在用户控制器中-如果是这样,那就是:

$myData = $this->User->School->find('all', array('order'=>'School.created DESC'));

(不需要加载学校模型,因为它是链接的,所以你只需通过用户模型引用它)

于 2012-02-28T20:48:23.633 回答