php – 来自加入的Laravel Query Builder计数

前端之家收集整理的这篇文章主要介绍了php – 来自加入的Laravel Query Builder计数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

所以在我的数据库中我有一个名为website_tags的表,其中包含id,title等,而且我还有一个名为website的表,具有相似的结构.还有一个名为assigned_tags的表,它包含标签和网站之间的关系,因此它包含关系id,tag_id和website_id.

我需要的是将这些表与查询联系起来,我需要获取所有标记并计算这些标记的使用次数.因此,例如website_tags包含以下信息:

1: men
2: women

分配的标签包含id:tag_id:website_id

1: 1: 1
2: 1: 2
3: 2: 2

因此,我将在2个网站中使用“男人”标签,并在1中使用“女人”标签.我应该如何构建查询
现在我有:

DB::table('website_tags')
->join('assigned_tags','website_tags.id','=','assigned_tags.tag_id')
->select('website_tags.id as id','website_tags.title as title',DB::raw("count(assigned_tags.tag_id) as count"))-
>get();

但这是错误的,此查询只计算assigned_tags中的行.

最佳答案
你必须定义groupBy,所以查询将知道如何计算它(就像在常规sql中一样)

尝试这样的事情

DB::table('website_tags')
->join('assigned_tags',DB::raw("count(assigned_tags.tag_id) as count"))
->groupBy('website_tags.id')
->get();

猜你在找的MySQL相关文章