Как выбрать все заказы, на которые есть хотя бы одна ставка cakephp 3.0?

Есть 2 таблицы таблиц, которые связаны через внешний ключ в отношениях «один ко многим».

Таблица 1_

и стол bids

Нужно выбрать все заказы, на которые есть хотя бы одна ставка. На 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


person Sanya    schedule 09.08.2017    source источник


Ответы (1)


Например:

$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();
person KoBa4    schedule 22.09.2017