2017-08-09 45 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(); 
相关问题