加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-14 19:37:45 所属栏目:大数据 来源:网络整理
导读:我正在尝试验证特定book_id的唯一问题 它意味着应该是唯一的特定记录. table: questions$title = this is question 1$book_id = 12 TRUE =如果$book_id = 16未发布问题,用户可以发布相同的问题. 显示错误=如果发布了$book_id = 12的问题,用户无法发帖. 这是
我正在尝试验证特定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 IlluminateValidationValidator {
      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以了解如何准确使用自定义验证

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读