最近,我遇到了看似简单的任务,即在查询构建器语句中输出引用项目的相关计数。
这里的简化代码:
$data = TableRegistry::getTableLocator()->get('tableA')->find()
->select(
[
'tableA.term',
'tableA.termkey',
'count(tableA.termkey)' //my first though was this...but it does not work
'count' => TableRegistry::getTableLocator()->get('tableA')->find()->func()->count('*') //ok
],
)
->join([
....
]
])
->where(
....
)->group(
....
)->order(
....
);
现在,经过一些文档查找后,我终于找到了一个语法相当奇特的解决方案。
TableRegistry::getTableLocator()->get('tableA')->find()->func()->count('*') //ok, works so far..but do I need this all stuff for an simple count?
在查询构建器中使用计数函数真的是理想的方法吗?
还有比这更好的解决方案吗?
开心每一天1111
慕桂英4014372