@kirill-93

Laravel условия для выборки with?

Всем привет, есть такая структура: Категории -> Параметры -> Значения параметров
Получаю все это одним запросом:
Category::with('params.values')->get();
Как мне добавить условия именно для params?
В документации есть пример с условиями:
$users = User::with(['posts' => function($query)
{
    $query->where('title', 'like', '%первое%');
}])->get();

Но тут with с одним аргументом, а у меня с двумя.
  • Вопрос задан
  • 954 просмотра
Решения вопроса 1
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
$users = User::with(['posts' => function($query)
{
    $query->where('title', 'like', '%первое%');
},
'foo',
'bar' => function($query){
    // bar query
}])->get();


Передавайте как элементы массива.
Думаю вам так же подойдет whereHas:

Category::with('params.values')->whereHas('params', function($query){
   $query->where('something', 'foobar');
})->get();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы