为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
POPMUISE 2019-03-12 19:56:19
简单的小项目在自定义验证字段时,数据插入数据库可以正常验证!想要在数据更新时也使用本套验证方法,就是一个字段比如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判断那边他是执行的!也是执行成功的!就好比我修改的数据是"菜单栏",我不修改原样放进去它验证成功!我依稀记得更新操作都是先删除原始数据重新插入数据这样一个流程,那我判断唯一性就失效了!但是更新时我又要怎么判断他是否唯一呢!小白还请各位给点意见!
查看完整描述

5 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

感谢评论区的回答

查看完整回答
反对 回复 2019-03-18
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

你的描述我看的稀里糊涂。。。。你想办法理一下思路,简便一下发言,这样我们才好帮你找问题。。

查看完整回答
反对 回复 2019-03-18
  • 5 回答
  • 0 关注
  • 1019 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信