2012-02-28 2 views
1

только один быстрый вопрос о заказеBy в cakePHP найти операции. скажем, у меня есть 3 модели, связанные друг с другом. Когда я делаю запрос find('all') cakePHP на любой из моих 3 моделей, я получаю результаты, которые также включают данные из двух других моделей. Например, предположим, что мои модели:заказ cakephp другой моделью поля в ассоциации

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?

Пожалуйста, дайте мне знать, если это вообще возможно

Спасибо

ответ

0

Если вы пытаетесь получить все соответствующие данные от пользователя, школы и страны, но сортировать по School.created (на вашем примере), вы можете просто запустить запрос из модели школы.

Я предполагаю, что вы находитесь в контроллере Users - если да, то это было бы просто это:

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

(нет необходимости загружать модель школы, так как это связано, - так что вы просто смотрите к нему через модель пользователя)

Смежные вопросы