Задать вопрос
@kirill-93

Где правильно проверять принадлежность сущности?

Модели:
class Page extends Model
{
  public function articles()
  {
    return $this->hasMany(Article::class);
  }
}

class Article extends Model
{
  public function page()
  {
    return $this->belongsTo(Page::class);
  }
}


Роуты:
Route::put('pages/{page}/articles/{article}', 'ArticleController@store');
Route::delete('pages/{page}/articles/{article}', 'ArticleController@delete');


Контроллер:
class ArticleController extends Controller
{
  public function store(Page $page, Article $article) 
  {
    if (Auth::user->id !== $page->user_id || $article->page_id !== $page->id) {
      abort(403);
    }

    $article->update(request()->all());
  }

  public function delete(Page $page, Article $article) 
  {
    if (Auth::user->id !== $page->user_id || $article->page_id !== $page->id) {
      abort(403);
    }

    $article->delete();
  }
}


Правильно ли будет вынести проверку Auth::user->id !== $page->user_id || $article->page_id !== $page->id в middleware? Сущностей много, получится довольно много мидлвэров. Правильно ли это?
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Loftschool
    Комплексное обучение PHP
    6 недель
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик расширенный
    20 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы