Wil*_*ian 9 cakephp cakephp-3.0
我有一个表Post,这与表Stars 有很多联系.
我可以使用以下方法获取所有相关数据:
$this->Posts->find()->contain(['Stars']);
Run Code Online (Sandbox Code Playgroud)
这很好用.
但我想数星星.我试过这个但它不起作用:
$this->Posts->find->contain([
'Stars' => function($q) {
return $q->select(['total' => $q->func()->count('Stars.post_id')]);
}
]);
//I've also tried this
...
...$q->select(['total' => "COUNT(Stars.post_id)"]);
...
//Also fail
Run Code Online (Sandbox Code Playgroud)
这不会返回关联星数.
有什么不对或应该采取其他方式吗?
谢谢
ari*_*lia 15
您还必须选择外键,否则蛋糕无法加入表格.而且你还要对结果进行分组
'Stars' => function($q) {
$q->select([
'Stars.post_id',
'total' => $q->func()->count('Stars.post_id')
])
->group(['Stars.post_id']);
return $q;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6141 次 |
| 最近记录: |