Laravel unique验证 排除当前记录
这是我第一篇在社区的博文,之前都是在博客园的,不过也好久没写博文了,也懒得搬了。反正我写博文的目的主要还是想当个记事本啥的,以后用到了这个技术,有啥不会的地方,能有个地方回去翻看一下就好,也不贪图哪些虚名啥的(关注量、浏览量等),所以也就不去搬运了。废话就到此结束吧……
Laravel的unique验证规则相信各位大佬都应该不陌生吧。就是用来验证数据库某一个字段的唯一性的。
常规用法[unique: table, column]
但是今天碰到了这么一个业务场景,就是更新某一条数据,保证name字段唯一性。但是更新的时候name字段并没有更新,而是更新了其他的字段(如mobile),这时候前端传过来的name的值还是原来的,但此时使用了上面的验证方法的话就会报错。
在我翻看了大量资料(百度)之后,发现它还有几个参数我们都忽略了。
这是laravel5.5的文档截图。后面还有except和idColumn,这不是正好满足的我的需求吗(忽略某一行数据),真是太棒了!然后就出现了这个
图中的 $this->route('transfer_app') 是resource路由的update方法中$id的值的获取方法。可以先打印一下$this->route()看一下。(友情提示,这个数据有点多,小心卡死,哈哈)
完美搞定!
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: