У меня есть две таблицы 'Group' ('id', 'title', 'description') и 'Group_members' ('id', 'group_id', 'user_id').Когда пользователь присоединяется к группе, в таблице 'group_members' создается строка.
Мне нужно выбрать все группы вместе с количеством участников в каждой группе, например: -
[
{
id: 1
title: group1
description: lorem ipsum
member_count: 5
}{
id: 2
title: group2
description: lorem ipsum
member_count: 7
}
]
То, что я до сих пор делал, это
DB::table('group')
->join('group_members',
function($join){
$join->on('group_members.group_id', '=', 'group.id')
->distinct()->pluck('group_members.user_id')->count();
})
->get();
, который возвращает ошибку
SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 У вас есть ошибка в вашем SQLсинтаксис;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с 'на group
. id
= group_members
.`group_id
Пожалуйста, помогите