数据表user
字段有id、name、mobile
当前一条数据
id=2 name="TP" mobile="13400000000"
需要修改为
id=2 name="THINKPHP5" mobile="13400000000"
也就是用户提交过来的数据中只有name字段值改变了
这个时候在更新的时候会提示mobile已存在
$res = $userModel->validate('User.edit')->save($_POST,['id'=>2]);
像这种情况一般如何处理 怎么更新 那道要把先查询一遍把没有变化的数据都过滤掉再更新 如果过滤掉了 mobile在验证的时候就不能设置require
---------------------------------------------------------
设置验证类 (验证的时候验证手机号在user表中的唯一性)
protected $rule = [
'mobile'=>['require','unique'=>'user','regex'=>'/^1[3456789]\d{9}$/'],
];
protected $message = [
'cellphone.require'=>'登录认证手机号不能为空',
'cellphone.unique'=>'手机号已存在',
'cellphone.regex'=>'手机号不正确 格式:1xxxxxxxxxx',
];
protected $scene = [
'add'=>['cellphone','password'],
'edit'=>['cellphone','password'],
]
最佳答案
