mysql - 如何将此 SQL 转换为 Laravel 查询构建器代码?
问题描述
这是我的 SQL:
select
m.id,
m.first_name,
GROUP_CONCAT(mt.name) membership_types
from
members m
left join expert_memberships em on em.member_id = m.id
left join membership_types mt on mt.id = em.membership_type_id
group by
m.id,
m.first_name
解决方案
用这个:
$members = DB::table('members')
->leftJoin('expert_memberships', 'members.id', '=', 'expert_memberships.member_id')
->leftJoin('membership_types', 'membership_types.id', '=', 'expert_memberships.membership_type_id')
->select('members.id', 'members.first_name', DB::raw('GROUP_CONCAT(membership_types.name) membership_types'))
->groupBy('members.id', 'members.first_name')
->get();
group_concat 你已经通过 DB::raw 否则它将无法在选择中工作。
推荐阅读
- maven-3 - 为什么 maven-failsafe 插件不选择集成测试
- javascript - 将同级元素与当前元素一起拖动
- python - Numpy子集和赋值
- windows - 在循环内构建自定义 POSobjects
- google-apps-script - 附加行输出“[Ljava.lang.Object;@536f3e11”而不是范围值
- google-chrome - Netflix 如何阻止用户截取 chrome 浏览器的截图?
- c# - 如何在 Unity 2D (C#) 中将鼠标输入更改为按键输入
- kubernetes - 在 Kubernetes 中运行后台作业
- java - JTable 锁定在 JScrollPane 的顶部
- python - 将列表排序为字典中的值(类似于 pandas.sort_values)