thinkphp5.1 验证数据唯一性 可以使用unique,但如果一个表里面需要判断2个ID类的数据不能重复,要是不同ID的可以相同,那如何解决呢?
使用下面代码,特别是红色部分代码
class Teacher extends Validate
{
protected $rule = [
'name' => 'require|max:20',
'user_name' => 'require|max:20|unique:teacher',
'role_id' => 'number',
'mobile' => 'mobile|checkMobile',
];
// 自定义验证规则
protected function checkMobile($value,$rule,$data=[])
{
$rule = ['mobile' => 'unique:teacher,delete_time=0&mobile='.$data['mobile'],];
return $this->check($data,$rule);
}
protected $message = [
'name.max' => '姓名不能超过20个字符',
'name.require' => '姓名不能为空',
'user_name.max' => '用户名不能超过20个字符',
'user_name.require' => '用户名不能为空',
'mobile.mobile' => '手机号码错误',
'mobile.unique' => '手机号码存在,请确认后重新填写',
];
}