CakePHP: получить связанные записи в порядке?

У меня есть две модели: 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 модель?

1 ответ

Решение

Решил это. Забыл я мог уточнить order в моих модельных ассоциациях, поэтому я добавил следующее Event модель:

<?php
class Event extends AppModel {
    public $hasMany = array(
        'Match' => array(
            'order' => array(
                'match_order' => 'asc'
            )
        )
    );
}
Другие вопросы по тегам