@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? Сущностей много, получится довольно много мидлвэров. Правильно ли это?
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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