【发布时间】:2018-11-22 10:59:59
【问题描述】:
$options = array(
'fields' => array(
'item_requirements.*',
'COUNT(`item_requirements`.`quantity_required`) as count'
),
'joins' => array(
'INNER JOIN `items` AS item_requirements ON `item_requirements`.`item_id` = `items`.`id`'
),
'group' => '`item_requirements`.`item_id`',
'contain' => array(
'items' => array('fields' => array('name', 'specification'))
)
);
$query = $this->Indents->ItemRequirements->find('all', $options);
错误:SQLSTATE[42601]:语法错误:7 错误:零长度分隔标识符在“”“”第 1 行或附近:...item_requirements`.`quantity_required`) AS "counts"" AS "COU. .. ^
出现上述错误..解决这个问题的任何解决方案..
【问题讨论】:
-
您能否将生成的实际 SQL 查询包括在内?
-
查询选择BB.id item_id, BB.code || '-' || BB.sub_code || '-' || BB.name || '-' || BB.specification item_details, AA.quantity_required concurrent_quantity from (select a.item_id, sum(a.quantity_required) quantity_required from tms.item_requirements a group by a.item_id) AA内连接(select b.id, b.code, b.sub_code , b.name, b.specification, b.unit_qty_code_id from tms.items b) BB on BB.id=AA.item_id ;
-
您是否尝试过用不那么模棱两可的方式替换别名
count? -
您在此处共享的查询是否与它生成的完全相同?从您发布的代码中,我看不出所有 AA 和 BB 是如何形成的。如果您在发布前进行了编辑,则可能会意外更改某些内容。
-
这是针对上述情况的查询(select a.item_id, sum(a.quantity_required) quantity_required from tms.item_requirements a group by a.item_id)AA内连接(select b.id, b .code, b.sub_code, b.name, b.specification, b.unit_qty_code_id from tms.items b)
标签: postgresql cakephp cakephp-3.0 query-builder