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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
常用的php ADODB使用方法集锦
Mar 25 PHP
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 PHP
PHP 变量的定义方法
Jan 26 PHP
php笔记之常用文件操作
Oct 12 PHP
PHP基础学习小结
Apr 17 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
Jun 08 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
PHP连接MYSQL数据库实例代码
Jan 20 PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 PHP
禁止直接访问php文件代码分享
May 05 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
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
PHP购物车类Cart.class.php定义与用法示例
2016/07/20 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
CentOS6.5设置Django开发环境
2016/10/13 Python
LRUCache的实现原理及利用python实现的方法
2017/11/21 Python
用python给csv里的数据排序的具体代码
2020/07/17 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
Python中全局变量和局部变量的理解与区别
2021/02/07 Python
经济实惠的名牌太阳镜和眼镜:Privé Revaux
2021/02/07 全球购物
PHP数据运算类型都有哪些
2013/11/05 面试题
北京天润融通.net面试题笔试题
2012/02/20 面试题
Linux的文件类型
2016/07/05 面试题
临床医学专业学生的自我评价分享
2013/11/21 职场文书
银行类自荐信
2014/02/04 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
大型会议策划方案
2014/05/17 职场文书
小学综治宣传月活动总结
2014/07/02 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
python实现简单的名片管理系统
2021/04/26 Python
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js