CakePHP - findAll () упорядочивание модели hasMany - PullRequest
1 голос
/ 13 сентября 2011

Вот мои модели:

class Subject extends AppModel {
    public $belongsTo = array('SubjectGroup');
}

class SubjectGroup extends AppModel {
    public $hasMany = array('Subjects');
}

Я получаю все SubjectGroups в моем контроллере следующим образом:

$this->SubjectGroup->find('all', array('order' => 'SubjectGroup.name'));

Но как мне также сказать, чтобы упорядочить темы в каждой группе объектов по имени субъекта?

Ответы [ 2 ]

5 голосов
/ 13 сентября 2011

Решение:

class SubjectGroup extends AppModel {

    public $hasMany = array(
        'Subject' => array('order' => 'Subject.name')
    );

}

Спасибо Четан Пател за напоминание о расширенных возможностях.

http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasmany

3 голосов
/ 13 сентября 2011
$this->SubjectGroup->find('all', array('order' => array('SubjectGroup.name'=>'asc','Subject.name'=>'asc')));

или

class SubjectGroup extends AppModel {
public $hasMany = array(
   'Subject'=>array(
   'className' => 'Subject',
  'order' => 'Subject.name DESC', // order by descending time of Subjects
  'foreignKey' => 'subject_id')
    );
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...