TP5表设置了唯一性在model更新时问题?

浏览:478 发布日期:2018/01/22 分类:ThinkPHP5专区
情况:
数据表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'], 
   ]
最佳答案
评论( 相关
后面还有条评论,点击查看>>