私は次のモデルを持っています:
Client hasMany Loan
Loan belongsTo Book
Loan belongsTo Client
Book belongsTo BookType
そして、私のテーブルは次のようになります。
clients { id, name, ... }
loans { id, client_id, book_id }
books { id, book_type_id }
book_types { id, title }
クライアントの ID ですべてのローンを検索したいと考えています。これは私が試したものです:
$client = $this->Client->find('first', array(
'conditions' => array(
'Client.id' => $id
),
'contain' => array(
'Loan' => array(
'Book' => array(
'BookType' => array(
'order' => 'sachtitel DESC'
)
)
)
)
));
これは期待どおりに機能しません。データが希望どおりに並べ替えられていません。
私は何を間違っていますか?
編集:どうやら、私がcontains を使用している限り、順序を使用できないようです。CakePHP はデータを取得するために複数のクエリを生成するためです。したがって、CakePHP によって生成されたクエリによって 1 行しかフェッチされないため、私の注文は役に立ちません。テーブルからデータを取得するには、結合をどのように使用しますか?