Eloquent ограничение при нетерпеливой загрузке
Есть модель Turbochargers
и сам запрос:
Turbocharger::where('status', 1)
->with(['motors', 'vehicles', 'images', 'turbineCategories'])
->select(['id', 'name', 'title', 'slug', 'preview'])
->get()
->toJson();
я получаю обьект в котром лежать turbochargers и данные по связи с ним
('motors', 'vehicles', 'images', 'turbineCategories')
с помощью ->select(['id', 'name', 'title', 'slug', 'preview']) я ограничиваю вывод из таблтцы turbochargers только эти поля.
Так же мне надо огнаничить вывод полей из связи turbineCategories
пробовал:
('motors', 'vehicles', 'images', 'turbineCategories:id')
но мне так же надо полуать и 'turbineCategories:name'
и так:
$turbochargers = Turbocharger::where('status', 1)
->with(['motors', 'vehicles', 'images',])
->with(['turbineCategories' => function($query){
$query->select('id','name');
}])
->select(['id', 'name', 'title', 'slug', 'preview'])
->get()
->toJson();
Как плучить обьект turbachargers с ограничением в связанной таблице по нескольким стольбцам?
Ответы (1 шт):
Turbocharger::where('status', 1)
->with('motors', 'vehicles', 'images','turbineCategories:name,slug,turbine_category_id')
->select(['id', 'name', 'title', 'slug', 'preview'])
->get()
->toJson();
Вот так получилось выбрать все что мне нужно Если есть варианты оптимизации буду рад если подскажите!