Получить все записи, прикрепленные к нескольким пользователям в Laravel - PullRequest
0 голосов
/ 20 сентября 2019

Как получить все записи, которые были прикреплены к нескольким пользователям, пожалуйста?Например, мне нужно, чтобы каждый пост был прикреплен к любому пользователю A, B или C. У меня правильно установлены отношения belongsToMany, но я не знаю, как объединить их все вместе.Спасибо!

Посты, представленные ниже, прикрепляются к каждому пользователю посредством отношения belongsToMany.
Пользователь A - Сообщение 1 / Сообщение 2
Пользователь B - Сообщение 3 / Сообщение 4 / Сообщение 5
Пользователь C - Пост 3 / Пост 5 / Пост 6
Теперь, для Пользователя D мне нужно красноречивое из всех этих Постов (Пост 1,2,3,4,5,6).

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Поскольку сообщения прикрепляются к пользователю по отношению к ownToMany, вы можете просто использовать отношение из модели Post для извлечения данных.Предположим, пользователи - это имя отношения в модели Post.

$result = Post::with('users')->whereIn('id',$userIds)->get();

0 голосов
/ 20 сентября 2019

Разве вы не можете просто запросить идентификаторы пользователей?Вот так:

$posts = Post::whereHas('users', function($q) use($usersIds) {
    $q->whereIn('id', $usersIds);
})->get();

Дайте мне знать, помогло ли это вам.

...