我有两个模型:Event
和Match
。一个事件可以有很多匹配。我的Match
模型有$order = array('match_order' => 'asc')
。我的match_order
数据库表中的matches
列只是一个简单的INT
列,用于订购匹配项。
我有一个更新匹配顺序的控制器方法。但是,因为我通过事件获取匹配项,所以它们似乎不是按match_order
升序,而是按id
列升序。这是一个示例调用:
<?php
class EventsController extends AppController {
public function view($id) {
$event = $this->Event->find('first', array(
'conditions' => array(
'Event.id' => $id
),
'contain' => array('Match')
));
}
}
所有相关的匹配都按预期返回,但不是正确的顺序。我已经清除了我的模型缓存,还有什么我需要做的才能通过Match
模型中的值来获得匹配顺序吗?
答案 0 :(得分:0)
解决了它。忘了我可以在我的模型关联中指定order
,所以我已将以下内容添加到我的Event
模型中:
<?php
class Event extends AppModel {
public $hasMany = array(
'Match' => array(
'order' => array(
'match_order' => 'asc'
)
)
);
}