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 操作文件的一些FAQ总结
Feb 12 PHP
基于PHP服务端图片生成缩略图的方法详解
Jun 20 PHP
php生成txt文件标题及内容的方法
Jan 16 PHP
PHP根据IP判断地区名信息的示例代码
Mar 03 PHP
php输出xml属性的方法
Mar 19 PHP
php获取网站百度快照日期的方法
Jul 29 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 10 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
php和html的区别点详细总结
Sep 24 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 PHP
php 函数中静态变量使用的问题实例分析
Mar 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面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
Angular2库初探
2017/03/01 Javascript
微信小程序如何获取群聊的openGid以及名称详解
2019/07/17 Javascript
vue用elementui写form表单时,在label里添加空格操作
2020/08/13 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
Python测试模块doctest使用解析
2019/08/10 Python
python 表格打印代码实例解析
2019/10/12 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
Python selenium如何打包静态网页并下载
2020/08/12 Python
python time()的实例用法
2020/11/03 Python
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
澳大利亚在线家具店:Luxo Living
2019/03/24 全球购物
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
介绍一下Linux中的链接
2016/06/05 面试题
新闻记者实习自我鉴定
2013/09/19 职场文书
行政助理的岗位职责
2014/02/18 职场文书
房屋转让协议书
2014/04/11 职场文书
大专毕业生求职信
2014/07/05 职场文书
学风建设演讲稿
2014/09/12 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
护士先进个人总结
2015/02/13 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
nginx rewrite功能使用场景分析
2022/05/30 Servers