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往windows中添加用户
Dec 06 PHP
PHP 组件化编程技巧
Jun 06 PHP
解析PHP汉字转换拼音的类
Jun 18 PHP
php打开文件fopen函数的使用说明
Jul 05 PHP
PHP 获取远程文件大小的3种解决方法
Jul 11 PHP
利用中国天气预报接口实现简单天气预报
Jan 20 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
May 13 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
thinkPHP5.0框架自动加载机制分析
Mar 18 PHP
php微信公众号开发之二级菜单
Oct 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
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
php版微信小店API二次开发及使用示例
2016/11/12 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
Node.js文件操作方法汇总
2016/03/22 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
Vue 实现拨打电话操作
2020/11/16 Javascript
python读取注册表中值的方法
2013/04/08 Python
python中的reduce内建函数使用方法指南
2014/08/31 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
Django开发中的日志输出的方法
2018/07/02 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
网络技术支持面试题
2013/04/22 面试题
自我鉴定书面格式
2014/01/13 职场文书
幼儿园毕业典礼主持词
2014/03/21 职场文书
外语系毕业生求职自荐信
2014/04/12 职场文书
经理任命书模板
2014/06/06 职场文书
如何书写公司员工保密协议?
2019/06/27 职场文书
日本读研:怎样写好一篇日本研究计划书?
2019/07/15 职场文书
python实现简易名片管理系统
2021/04/11 Python
win sever 2022如何占用操作主机角色
2022/06/25 Servers