【发布时间】:2018-09-04 11:43:03
【问题描述】:
我想在模型的加入上添加一些条件。
这是我尝试过的,结果没有任何改变:
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
编辑:
我也尝试过这种基于this answer的方法
$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' => 'delivered')
【问题讨论】: