Laravel Validator 实现两个或多个字段联合索引唯一


Posted in PHP onMay 08, 2019

Laravel的Validation还是蛮好用的,使用Validator可以非常方便的验证表单,它提供了unique唯一性验证,但是默认只能验证一个字段,那遇到两个甚至多个字段的联合索引,需要满足复杂条件唯一性怎么实现呢

Validator复杂唯一性实现方法

我们可以用自定义 Rule 自定义验证规则,比如像这样:

[...]
$where = [
      'name' => $request->name,
      'phone' => $request->phone
    ];
$this->validate($request, [
    "phone" => [
        "required",
        Rule::unique('table_name')
            ->where(function ($query) use ($where) {
                return $query->where($where);
            })
    ],
]);
[...]

首先我们把原来的字符串形式,改成数组形式,在数组中用 Rule 去自定义新的规则,很显然 unique() 方法是对 unique 来自定义的,然后参数是表的名字,后面再跟一个 where 函数,用到了闭包,匿名函数查询同时满足两个条件的结果是否存在,返回查询结果。

如此,我们便完成了自定义复杂的唯一性验证。

总结

以上所述是小编给大家介绍的Laravel Validator 实现两个或多个字段联合索引唯一,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
php面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
Cakephp 执行主要流程
Mar 24 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
Feb 05 PHP
浅析PHP中的UNICODE 编码与解码
Jun 29 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
php遍历目录方法小结
Mar 10 PHP
php专用数组排序类ArraySortUtil用法实例
Apr 03 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
May 12 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
Jan 11 PHP
PHP验证码生成原理和实现
Jan 24 PHP
PHP如何实现跨域
May 30 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 #PHP
Laravel框架模型的创建及模型对数据操作示例
May 07 #PHP
Laravel框架路由管理简单示例
May 07 #PHP
Laravel框架实现简单的学生信息管理平台案例
May 07 #PHP
Laravel框架Request、Response及Session操作示例
May 06 #PHP
thinkphp5框架扩展redis类方法示例
May 06 #PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 06 #PHP
You might like
桌面中心(一)创建数据库
2006/10/09 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
javascript编码的几个方法详细介绍
2013/01/06 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
JavaScript定时器和优化的取消定时器方法
2015/07/03 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
2016/06/05 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
bootstrap table实现横向合并与纵向合并
2019/07/18 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
Python字符串中查找子串小技巧
2015/04/10 Python
使用SAE部署Python运行环境的教程
2015/05/05 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
python 输出所有大小写字母的方法
2019/01/02 Python
Python函数中参数是传递值还是引用详解
2019/07/02 Python
Pycharm远程调试原理及具体配置详解
2019/08/08 Python
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
MAC Cosmetics巴西官方网站:M·A·C彩妆
2019/04/18 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
电子商务个人自荐信
2013/12/12 职场文书
男方父母证婚词
2014/01/12 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
史学专业毕业生求职信
2014/05/09 职场文书
教师聘用意向书
2015/05/11 职场文书
2016庆祝教师节新闻稿
2015/11/25 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL
python中数组和列表的简单实例
2022/03/25 Python