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 相关文章推荐
Smarty安装配置方法
Apr 10 PHP
PHP实现批量修改文件后缀名的方法
Jul 30 PHP
Symfony的安装和配置方法
Mar 17 PHP
Zend Framework实现多文件上传功能实例
Mar 21 PHP
php时间计算相关问题小结
May 09 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
Sep 30 PHP
Laravel 实现密码重置功能
Feb 23 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 PHP
PHP调用全国天气预报数据接口查询天气示例
Feb 20 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
Sep 10 PHP
PHP7.3.10编译安装教程
Oct 08 PHP
php 多继承的几种常见实现方法示例
Nov 18 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
phpwind中的数据库操作类
2007/01/02 PHP
mysql 全文搜索 技巧
2007/04/27 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
php递归创建目录的方法
2015/02/02 PHP
php微信开发之百度天气预报
2016/11/18 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
js中split和replace的用法实例
2015/02/28 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
详解python调度框架APScheduler使用
2017/03/28 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
Python类的继承super相关原理解析
2020/10/22 Python
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
市场营销管理制度
2014/01/29 职场文书
超市重阳节活动方案
2014/02/10 职场文书
新年寄语大全
2014/04/12 职场文书
给老婆的保证书范文
2014/04/28 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
学生违反校规检讨书
2014/10/28 职场文书
商务考察邀请函模板
2015/02/02 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
教你使用Pandas直接核算Excel中快递费用
2021/05/12 Python
Python Pandas常用函数方法总结
2021/06/15 Python