首页 > 解决方案 > 针对唯一值的 Laravel 验证

问题描述

我想为更新函数创建一个验证我希望它排除该 dedant id 的标题

  public function update(Request $request, Post $post)
    {
      $this->validate($request,[
         'title' => "required|unique:posts,title,".$id.'id',
         'image' => 'image',
         'categories' => 'required',
         //'tags' => 'required',
         'body' => 'required',
     ]);

标签: laravelvalidationlaravel-5

解决方案


你可以试试这个:

 public function update(Request $request, $id)
 {
    $rules = [
              'title' => 'required|unique:posts,title,'.$id,
              'image' => 'image',
              'categories' => 'required',
              'body' => 'required',
            ];
    $this->ValidateForm($request->all(), $rules);
    $post= Post::find($id);  
    if($post){
       $post->title  = $request->title;
       $post->categories  = $request->categories;
       $post->body  = $request->body;
       if ($request->hasFile('image')){
             Storage::delete($request->profile_photo);
             $post->image = $request->file('image')->store('post');
       }
      $post->save();
    }
 }

推荐阅读