Оптимизированный запрос в Laravel с отношениями
У меня есть 3 модели: Tag, Post, User, и сопоставить их с TagPost, модель TagUser.
Когда пользователь ищет тег во входном поиске, я использую $http.post (VUE) и отправляю массив тегов на сервер.
Пример тегов печати на сервере:
array:2 [
0 => array:10 [
"id" => 197
"name" => "nisi"
"slugify" => "nisi"
"thumbnail" => "http://lorempixel.com/400/400/?85397"
"seo_title" => null
"seo_description" => null
"seo_keyword" => null
"cover" => null
"created_at" => "2017-06-13 07:19:30"
"updated_at" => "2017-06-04 06:01:14"
]
1 => array:10 [
"id" => 184
"name" => "dolores"
"slugify" => "dolores"
"thumbnail" => "http://lorempixel.com/400/400/?45793"
"seo_title" => null
"seo_description" => null
"seo_keyword" => null
"cover" => null
"created_at" => "2017-06-08 15:37:59"
"updated_at" => "2017-05-27 13:34:02"
]
]
Я хочу, чтобы пользовательские теги поиска потом просматривали обновления пользователей, а в сообщениях были теги пользовательского поиска.
Посмотреть здесь:
На сервере (laravel), как кодировать с моделью отношений, используя наименьший запрос?
1 ответ
Предполагая, что вы правильно установили свои отношения, это должно работать
Tag::with('posts','users')->whereIn('id', $your_ids_send_by_vue)->get();
А затем в вашем контроллере сделать логику, чтобы получить нужные данные