저는 CakePHP에서 데이터를 검색 할 때 the documentation을 읽었으며 여러 개의 ORDER BY
이 가능하다는 것을 분명히 보여줍니다. 그러나 나는 그것을 작동시킬 수 없다. 그것은 단 하나와 함께 잘 작동하지만, 두 개의 문자열을 가진 배열로 변경하면 어느 쪽도 적용되지 않는 것처럼 보입니다. 내가 도대체 뭘 잘못하고있는 겁니까?CakePHP : 여러 기준으로 주문할 수 없습니다.
private function _bundle_users($report) {
$this->loadModel("User");
$conditions = array(
'ReportsUser.report_id' => $report['Report']['id']
);
//$order = 'ReportsUser.created DESC'; //THIS WORKS FINE
$order = array(//THIS SEEMS TO RESULT IN BOTH GETTING IGNORED
'ReportsUser.created DESC',
'User.last_name ASC',
);
$this->User->bindModel(array('hasOne' => array('ReportsUser')), false);
$this->paginate = array('conditions'=>$conditions, 'contain'=>array('ReportsUser', 'Attempt'=>array('order' => 'Attempt.created DESC'), 'Tag', 'Resume', 'School'),
'order'=>$order
);
$users = $this->Paginate('User');
return $users;
}
나는 내가 bindModel()
를 제외하고, this example 정확히 같은 일을하고있는 것 같아. 아마 그게 관련 단서 일 겁니다. $order = 'ReportsUser.created DESC';
을하지만이 무시됩니다 :
갱신 1
이 예상대로 작동 배열 구문은 문제의 일부처럼
$order = array('ReportsUser.created DESC');
이 보인다.
갱신 2
내가 키 => 값의 형식을 사용하면 배열 구문도 무시됩니다 : 'ReportsUser.created' => 'DESC'
갱신 3 @Leonard에 감사, 이 작품을 워드 프로세서의 말에도 불구하고 :
$order = 'ReportsUser.created DESC, User.last_name ASC';
* glares *, Cake eater. – wesside
문서에 따르면, ** 이것은 갈 길이 아니지만 다음을 시도해 보았습니다 :'$ order = 'ReportsUser.created DESC, User.last_name ASC';'? – Leonardo
@ 레오나르도 우와! 그게 전부가 아니야 * 어떻게 작동해야하는지는 모르겠지만 * 할 수있다 *. 그게 무슨 생각을 했니? – emersonthis