首页 > 解决方案 > 如何将此 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

标签: mysqllaravel-5

解决方案


用这个:

 $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 否则它将无法在选择中工作。


推荐阅读