请求中的Laravel模型关系验证


Laravel model relation validation in request

每当我传入两个或多个相互关联的参数时,我都会发现自己在控制器中做这样的事情。

例如,我有这样的路线:

Route::patch('user/{user}/post/{post}', 'PostController@update');

这导致了这样的事情:

public function update(User $user, Post $post, PostRequest $request)
{
  if($user->id != $post->user_id) {
    // return with error
  }
  // continue
}

有没有一种方法可以将关系验证放在PostRequest-类中?

是的您可以重定向回错误。试试这个:

if($user->id != $post->user_id) {
    return redirect()->back()->with('error', 'Something went wrong.');
}