0

我有两个模型:EventMatch. 一个事件可以有许多匹配项。我的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模型中的值获取匹配顺序吗?

4

1 回答 1

0

解决了。忘了我可以order在我的模型关联中指定,所以我在我的模型中添加了以下内容Event

<?php
class Event extends AppModel {
    public $hasMany = array(
        'Match' => array(
            'order' => array(
                'match_order' => 'asc'
            )
        )
    );
}
于 2012-09-08T22:28:17.937 回答