ShelestovAnt
@ShelestovAnt
Верстаю и программирую

Дополнительное условие where при получении модели?

Всем привет
Вот есть методы в контроллере:
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.

Надеюсь понятно объяснил)

Может кто посоветовать оптимальный вариант?

Спасибо!
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

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