Я хочу добавить некоторые условия при объединении модели.
это то, что я пытался, и ничего не изменилось в результате:
Members::find('all', [
'fields' => ['name', 'Count(Orders.id)'],
'with' => 'Orders',
// 'joins' => [
// 'Orders' => 'Orders.status = delivered'
// ]
]);
это мой рабочий пример запроса:
SELECT name, COUNT(orders.id) FROM members
LEFT JOIN orders ON orders.member_id = members.id AND orders.status = 'delivered'
GROUP BY member_id
Редактировать:
Я также попробовал этот подход на основе этого ответа
$joins = array();
$joins[] = new \lithium\data\model\Query(array(
'source' => 'orders',
'type' => 'LEFT',
'constraint' => array('Orders.status' => 'delivered'),
));
Members::find('all', [
'fields' => ['name', 'Count(Orders.id)'],
'with' => 'Orders',
'joins' => $joins
]);
но созданный запрос не содержит определенных параметров соединений ('Orders.status' => 'доставлено')