加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

php – 来自插手的Laravel Query Builder计数

发布时间:2021-03-06 01:56:52 所属栏目:编程 来源:网络整理
导读:以是在我的数据库中我有一个名为website_tags的表,个中包括id,title等,并且我尚有一个名为website的表,具有相似的布局.尚有一个名为assigned_tags的表,它包括标签和网站之间的相关,因此它包括相关id,tag_id和website_id. 我必要的是将这些表与查询接洽起来,

以是在我的数据库中我有一个名为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();

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读