0

と の 2 つのモデルが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か?

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 に答える