我有以下型号:
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 行。我将如何使用联接从表中获取数据?