版权声明:本文为博主原创文章,未经博主允许不得转载。
laravel validator unique
'name' => 'required|unique:test,display_name,11,age,extra_field,extraValue'
解释
对于客户端输入的 name 字段
-
name 不能为空
-
name 字段值在给定的数据库表中需为唯一值
// unique 校验规则
unique:table,column,except,idColumn
// 举个栗子
unique:test,display_name,11,age,extra_field,extraValuetest => 数据库表 display_name => test 数据表结构中的字段名称 11,age => except,idColumn // 表示忽略 test 数据表中 age = 11 的数据记录 extra_field,extraValue => 额外的where条件 { // 表示上述规则只会为数据库test表中 extra_field = 'extraValue' 的数据记录做唯一规则的验证 }
ps
注意:校验规则在 laravel 不同版本中有些许变化
举两个laravel版本栗子:
-
Laravel Framework version 5.1.20 (LTS)
在这个版本里是可以指定数据库连接
// _id: 指定的 ID (指定主键) 名称
‘email’ => ‘email|unique:mongodb.user,email,’.$uid.’,_id’,mongodb.user => [
mongodb => laravel数据库配置文件 database.php 配置项 connections 数组里面的mongodb连接
user => mongodb连接的数据库里面的集合或者数据表 user
] -
Laravel Framework version 4.2.17
但是,在这个版本里面就不能指定数据库连接,使用laravel默认的数据库连接,
所以,估计是 laravel 后面考虑到这个情况在后面的版本加了这个功能。