Всем привет
Вот есть методы в контроллере:
public function edit(Area $area)
{
/*if($area->city_id != GetCurrentCityHelper::getCurrentCity()->id) {
return response(view('admin.access_denied', [
'title' => 'Доступ закрыт',
]), 404);
}*/
return view('admin.areas.edit', [
'title' => 'Редактирование района',
'page_title' => 'Редактирование района - ' . $area->name,
'area' => $area,
]);
}
public function update(AreaUpdateRequest $request, Area $area)
{
return new AreaUpdateResponse($area);
}
public function destroy(Area $area)
{
return new AreaDestroyResponse($area);
}
В каждом методе получаем модель "Area $area" по id в url.
Админка устроена след. образом: Есть список городов в базе, в админ интерфейсе выбираем город с которым будем работать и работаем больше только с данными выбранного города.
на пример url test.ru/admin/areas/12/edit открывает страницу редактирования района выбранного ранее города
а test.ru/admin/areas/100/edit открывает страницу редактирования района совершенно другого вот именно этого хотелось бы избежать.
Выше в методе edit кусочек кода за комментирован, работает, но одно и тоже не хочется писать в методах...
В идеале хочу сделать чтобы при Area $area добавлялось условие
where('city_id', GetCurrentCityHelper::getCurrentCity()->id);
И если ничего не найдено то вылетало исключение ModelNotFoundException.
Надеюсь понятно объяснил)
Может кто посоветовать оптимальный вариант?
Спасибо!