@kirill-93

Laravel условие по pivot?

Пользователи публикуют посты, получаю посты с пользователями:
Post::with('users')->get();
У одного поста может быть много пользователей.
Как теперь мне отфильтровать уже полученных users по условию?
Например:
foreach (...) {
    $post->users->wherePivot('user_id', 1);
}

Такая запись не работает. В $post->users приходит pivot. Как по нему отфильтровать?
  • Вопрос задан
  • 288 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
$post->users - это коллекция, поэтому использовать нужно либо filter(), либо where(). Ну и pivot в данном случае вообще ни к чему использовать - у вас коллекция пользователей, гораздо логичнее отфильтровать сразу по id пользователя, а не по pivot.user_id.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы