Laravel, отношения многие ко многим. Как выбрать запись из одной таблицы по id ссылающихся записей из другой таблицы
Есть таблица чатов.
В которой содержатся id чатов и другие их характеристики (тип чата и т.д).
Есть таблица пользователей и промежуточная (связующая) таблица.
При создании чата в промежуточную таблицу записываются id пользователей, состоящих в этом чате.
Модель называется Chat.
Когда я делаю выборку
$chat = Chat::find(3);
$users = $chat->users();
У меня, понятно, извлекаются пользователи, принадлежащие этому чату.
Вопрос в том, как мне выбрать чат не по его id, а по id пользователей состоящих в нем?
То есть, если я передаю массив из 2, 14, 18, и тип чата 'group' то выбралась бы запись с id 4 из таблицы чатов.
Находил в документации примеры, но нужного результата не получил
пробовал так (всё внутри модели Chat)
$chat = $this->belongsToMany(User::class)->where('id', $members_ids);
//...
$chat = $this->belongsToMany(User::class)->whereIn('user_id', '=', $members_ids);
//...
$chat = $this->belongsToMany(User::class)->whereIn('id', '=', $members_ids);
не работает, и как сюда вставить тип чата непонятно..
Может быть нужно писать просто прямой запрос на выборку, с джоинами?
или все таки можно как то красиво и коротко написать, связь моделей все таки есть, мне остается только отфильтровать по данным из связанной таблицы

