Я думаю, что следующий запрос должен помочь:
$userId1 = 123; // just some assumption...
$userId2 = 234; // can of course be a user object as well
$roles = Role::query()
->whereHas('users', function ($query) use ($userId1) {
$query->where('users.id', $userId1);
})
->whereHas('users', function ($query) use ($userId2) {
$query->where('users.id', $userId2);
})
->get();
Словом, этот запрос в основном означает: Дайте мне все роли, которые связаны с пользователем с идентификатором $userId1
, а также пользователя с идентификатором $userId2
.