2
我有3分貝表:書籍(編號,標題,作者,...)和訂單(編號,book_id,user_id,...)和用戶(編號,名稱,用戶名,... ),我想獲得給定用戶訂購的書籍的標題。CakePHP嵌套選擇查詢
$this->set('user_orders', $this->Order->query("SELECT orders.id, orders.status,
(SELECT books.title FROM books WHERE books.id = orders.book_id) as `titles`
FROM orders WHERE orders.user_id = ".$this->Auth->user('id').""));
現在,我想獲得相同的結果,但使用find()方法:
$this->set('user_orders', $this->Order->find('all', array(
'fields' => array(
'Order.id',
'status',
'Order.book_id',
'Book.title' => $this->Book->find('first',array(
'fields' => 'Book.title',
'conditions'=> array('Book.id = Order.id')
)),
),
'conditions' => array('user_id' => $this->Auth->user('id')))));
但是,這是行不通的
我使用query()方法編寫查詢。如何修正以獲得與上面代碼中相同的效果?
問候
請註明你有你的模型之間的關聯 – kaklon 2012-01-10 08:00:38
你是什麼意思「它不工作」 - 是更具體。另外,你沒有指定'ORDER'。最後 - 我想你的條件應該是'Book.id = Order.book_id',而不是'Order.id' – Dave 2012-01-10 14:22:36