【发布时间】:2021-10-26 04:13:06
【问题描述】:
我想在用户表中搜索用户名,并且我在成员表中有 count 个成员。而组的表是主表。成员表中的多个组成员条目。但我不能在一个查询中同时搜索用户名和成员数。我的查询如下
$group = Group::select('groups.*', DB::raw('count(group_id) as totalMembers'), 'users.name as ownerName', 'users.id as userId')
->leftJoin('members', 'members.group_id', '=', 'groups.id')
->leftJoin('users', 'users.id', '=', 'members.user_id')
->where('members.memberStatus', 'Joined')
->where(function ($query) use ($request) {
$query->where('name', "like", "%" . $request->searchText . "%");
$query->orWhere('groupName', "like", "%" . $request->searchText . "%");
})
->groupBy('groups.id')
->get();
在此查询中,count 成员不正确,但搜索正常 我的表结构如下
用户表 enter image description here
【问题讨论】:
-
DB::raw('count(members.group_id) as totalMembers