Запрос Laravel для получения результатов, имеющих хотя бы один элемент массива?
я имеюposts
а такжеpostWriters
таблицы с отношениями один-ко-многим. (У меня такжеwriters
Таблица).
Каждый пост был написан несколькими авторами совместно.
Я хочу получить первые 20 сообщений, которые были написаны по крайней мере одним автором, за которым я следую.
Например, авторы, за которыми я следую:
$arrayOfWriterIds_IFollow = [3, 5, 123, 45, ..., 3456] // total 100 ids
Запрос:
$posts = Post::where(
array( 'postWriters' => function($l) {
$l->whereIn('writer_id', $arrayOfWriterIds_IFollow); // or array(3, 5) for 2 writers..
})
)
->orderBy('submitTimestamp', 'desc')
->take(20)
->get();
Запрос не работает.
Является ли этот подход подходящим, или я должен добавить отдельную таблицу для оценки моих результатов?