Модели:
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? Сущностей много, получится довольно много мидлвэров. Правильно ли это?