Я предполагаю, что вы уже определили свои отношения с использованием моделей. Согласно предоставленному описанию, канал имеет много-много отношений с пользователем
class Channel extends Model
{
public function members()
{
return $this->belongsToMany('App\User', 'channel_members', 'channel_id', 'user_id');
}
}
Используя красноречивые реалии, вы можете проверить существование связанных моделей как
$channels = App\Channel::whereHas('members', function ($query) {
$query->where('id', '=', 2);
})->whereHas('members', function ($query) {
$query->where('id', '=', 3);
})->whereHas('members', function ($query) {
$query->where('id', '=', 4);
})->get();
Выше вернутся только те каналы, которые связаны со всеми 3 пользователями на основе предоставленного идентификатора
Запрос наличия отношений