如何选择至少有一个出价cakephp 3.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查询生成器
答
作为例子:
$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();