php – 如何仅对Laravel 5中数据库表中的特定记录使用唯一验证?

前端之家收集整理的这篇文章主要介绍了php – 如何仅对Laravel 5中数据库表中的特定记录使用唯一验证?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试验证特定book_id的唯一问题
它意味着应该是唯一的特定记录.

table: questions

$title = this is question 1

$book_id = 12

TRUE =如果$book_id = 16未发布问题,用户可以发布相同的问题.

显示错误=如果发布了$book_id = 12的问题,用户无法发帖.

这是我到目前为止所尝试的

"required|unique:questions,question,book_id".$book_id,"required|unique:questions,book_id,!".$book_id,NULL,id,".!$book_id,

解决方法

您可以进行如下自定义验证

class CustomValidator extends \Illuminate\Validation\Validator {
      public function ValidatecheckQuestion($attribute,$value,$parameters) {

        $cnt = DB::table('questions')->where('title','=',$parameters[0])
                        ->where('book_id',12)
                        ->count();
        if($cnt==0)
            return false;
        else
            return true;                        
     }
  }

请参阅https://laravel.com/docs/5.0/validation#custom-validation-rules以了解如何准确使用自定义验证

猜你在找的Laravel相关文章