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类
Nov 25 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 PHP
基于PHP magic_quotes_gpc的使用方法详解
Jun 24 PHP
php合并js请求的例子
Nov 01 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
php设计模式之简单工厂模式详解
Sep 04 PHP
PHP中if和or运行效率对比
Dec 12 PHP
纯php生成随机密码
Oct 30 PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 PHP
实现PHP搜索加分页
Oct 12 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
PHP使用Nginx实现反向代理
Sep 20 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
PHP数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
使用upstart把nodejs应用封装为系统服务实例
2014/06/01 NodeJs
创建js对象和js类的方法汇总
2014/12/24 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
javascript+canvas实现刮刮卡抽奖效果
2015/07/29 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
2015/11/29 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
jquery replace方法去空格
2017/05/08 jQuery
vue中render函数的使用详解
2018/10/12 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
Django1.7+python 2.78+pycharm配置mysql数据库教程
2014/11/18 Python
Python reduce()函数的用法小结
2017/11/15 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
服装机修工岗位职责
2013/12/26 职场文书
应届行政管理专业个人自我评价
2013/12/28 职场文书
文明餐桌活动方案
2014/02/11 职场文书
药品业务员岗位职责
2014/04/17 职场文书
护士医德考评自我评价
2015/03/03 职场文书
2016学习医德医风心得体会
2016/01/25 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书