#laravel #filter
#laravel #Фильтр
Вопрос:
У меня есть этот код в моем контроллере, и результат таков
$list = ShopDepartment::with('shop','grocery', 'dailylist')->get();
return $list;
Пример вывода для первого элемента таков
{
"id": 2,
"shop_id": 1,
"name": "Grønt",
"order": "2",
"created_at": "2020-10-12 14:03:57",
"updated_at": "2020-10-12 14:03:57",
"shop": {
"id": 1,
"name": "Netto",
"address": null,
"type": null,
"created_at": "2020-10-12 14:04:35",
"updated_at": "2020-10-12 14:04:35"
},
"grocery": [],
"dailylist": []
},
Но если я хочу отфильтровать выходные shop.id
данные, это мне не позволит. Есть идеи, как это сделать? Я предполагаю, что я не могу фильтровать его таким образом…
$list = ShopDepartment::with('shop','grocery', 'dailylist')->where('shop.id', 1)->get();
return $list;
Ответ №1:
Вы могли бы попробовать что-то вроде этого:
$list = ShopDepartment::with(['shop' => function($query) {
$query->where('id', 1);
}, 'grocery', 'dialylist'])->get();