ThinkPHP5.0数据更新验证唯一性怎么验证。

简单的小项目在自定义验证字段时,数据插入数据库可以正常验证!想要在数据更新时也使用本套验证方法,就是一个字段比如catename字段,需要验证是否存在,然后在数据库中是否是唯一一个.ThinkPHP5
以下自定义验证是代码:(很简单的)
class Admin extends validate
{

protected $rule = [
    'catename' => 'unique:cate|require|length:4,25'
];
protected $message = [
    'catename.require' => '请填写栏目名称',
    'catename.unique' => '栏目已存在',
    'catename.length' => '长度不在3-5个字符',
];

}
然后数据更新代码:model层
//栏目修改

public function edit($data)
{

    $validate = new Admin();
    if ($validate->check($data)) {//验证数据是否正确
        $num = Cate::isUpdate(true)->save($data);
        return $num;
    } else {
        return $validate->getError();
    }
}

这里出现了一个问题:就是当我不做修改的时候数据是肯定修改失败的!因为没有做任何修改返回没有影响的行数!但是if判断那边他是执行的!也是执行成功的!就好比我修改的数据是"菜单栏",我不修改原样放进去它验证成功!我依稀记得更新操作都是先删除原始数据重新插入数据这样一个流程,那我判断唯一性就失效了!但是更新时我又要怎么判断他是否唯一呢!小白还请各位给点意见!

POPMUISE
浏览 1020回答 5
5回答

德玛西亚99

感谢评论区的回答

白衣染霜花

你的描述我看的稀里糊涂。。。。你想办法理一下思路,简便一下发言,这样我们才好帮你找问题。。
打开App,查看更多内容
随时随地看视频慕课网APP