Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Для примера, имеются две таблицы users и params
Таблица users
id
params_status - foreign_key
params_sex - foreign_key
params_drinks - foreign_key
Таблица params
id - primary_key
name
Мне нужно получить ч/з отношение с помощью ленивой загрузки данные, вот как я делаю:
В модели users
public function params()
{
return $this->belongsTo(params::class,'params_status');
}
В контроллере
$listing = user::with('params')
Все отрабатывает, НО мне нужно получить одним запросом все параметры по всем полям params_status, params_sex и params_drinks
Можно сделать вот так:
В модели users
public function paramsStatus()
{
return $this->belongsTo(params::class,'params_status');
}
public function paramsSex()
{
return $this->belongsTo(params::class,'params_sex');
}
public function paramsDrinks()
{
return $this->belongsTo(params::class,'params_drinks');
}
И потом их вызывать в контроллере, но это увеличение запросов к БД, да и мне кажется не по феншую.
Гулешь не помог, ответа нигде не смог найти, вот пишу сюда.
Не в сети
Разобрался, можно сделать как я описал выше несколько отношений и вызывать их вот так:
user::with('paramsSex','paramsStatus','paramsDrinks')
Не в сети
Страницы 1