2017-08-09 46 views
0

有跡象表明,通過一個外鍵在一個一對多的關係如何選擇至少有一個出價cakephp 3.0的所有訂單?

orders

和表bids

需要連接2個桌選擇至少有一個出價的所有訂單。 在SQL查詢這是不難做到

SELECT * , count(bids.order_id) AS count_bid  
FROM orders 
LEFT JOIN bids ON bids.order_id = orders.id 
GROUP BY orders.id 
HAVING (count_bid > 0) 

但需要使使用CakePHP的3.0查詢生成器

回答

0

作爲例子:

$query = $this->Articles->find(); 
$query 
    ->select(['count_bid' => $query->func()->count('Comments.id')]) 
    ->leftJoinWith('Comments') 
    ->group(['Articles.id']) 
    ->having(['count_bid >' => 0]) 
    ->enableAutoFields(true); 
$results = $query->toArray(); 
相關問題