我正在查询一个名为order
的数据库表,因此我必须在app.php配置中设置'quoteIdentifiers' => true
。但是,当我将函数名称放入fields
调用的find()
配置时,CakePHP也会引用它们。
$orders->find('all', array(
'fields' => array(
'DATE(Orders.date_added)',
'COUNT(*)',
),
'conditions' => array(
'Orders.order_status_id <>' => 0,
),
'group' => array(
'DATE(Orders.date_added)',
),
));
上面的查询最终调用
SELECT <...>, `DATE(Orders.date_added)` FROM `order` <...>
显然会引发错误。
我搜索了很多内容,尝试了this:
$orders = $orders->find('all', array(
'conditions' => array(
'Orders.order_status_id <>' => 0,
),
'group' => array(
'DATE(Orders.date_added)',
),
))->select(function($exp) {
return $exp->count('*');
});
这也没用,给我一些array_combine错误。
有没有办法让我取消引用这些函数名称,同时保持自动引用查询的其余部分?这就是我想要完成的事情:
SELECT <...>, DATE(Orders.date_added) FROM `order` <...>
请帮忙。