Я пытаюсь загрузить отношения с нетерпением загрузки. Но хотел бы передать атрибут в функцию отношения.
(Laravel 6.x)
Модель - taxChildren () требует идентификатор
public function taxChildren($moduleId)
{
return $this->hasMany($this, 'parent')->where('module', '=', $moduleId')->orderBy('created_at', 'asc');
}
Контроллер
$departments = tax::where([
['module', '=', $this->departmentsModuleId],
])
->whereNull('parent')
->with([
'taxChildren' => ['moduleId', '2']
])
->get();
Теперь я знаю, что могу передать запрос на мои отношения следующим образом:
$departments = tax::where([
['module', '=', $this->departmentsModuleId],
])
->whereNull('parent')
->with([
'taxChildren' => function($query){
$query->where('module', '=', $this->departmentsModuleId);
},
])
->get();
но я буду использовать это часто с несколькими отношениями, которые похожи. У кого-нибудь есть идеи, как этого добиться? Спасибо!