Cakephp 3:获取线程中的消息数

问题描述 投票:0回答:1

我有3个相互交织的桌子(除其他外,与此无关)。这些是人员,线索和职位。在设计首页时,我试图在当前当前帖子总数的线程名称旁边显示一个计数。如果是SQL,我可以很容易地做到这一点,但是由于我对语法不太熟悉,因此使用cakephp时我感到很困惑。

表的连接如下(到目前为止):线程:person_id(创建线程的人)帖子:thread_id(与之相关的线程),person_id(已发布的人员)。

这可以通过在SQL中测试post_id时进行分组来完成。如果可以的话,请在cakephp中向我展示一个语法,说明应该如何做。这太好了!

谢谢

php cakephp group-by count cakephp-3.x
1个回答
0
投票

包含group by子句的查询的总数,而不必以任何方式重写查询。例如,考虑使用此查询来检索商品ID及其评论数。

$query = $posts->find();
$query->select(['post.post_id', $query->func()->count('Comments.id')])
    ->matching('Comments')
    ->group(['post.post_id']);
$total = $query->count();

计算后,查询可用于通过以下方式获取关联记录:

$list = $query->all();

有关更多示例:

Returning total records

© www.soinside.com 2019 - 2024. All rights reserved.