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 相关文章推荐
hessian 在PHP中的使用介绍
Dec 13 PHP
深入PHP变量存储的详解
Jun 13 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
PHP中Http协议post请求参数
Nov 02 PHP
PHP调试的强悍利器之PHPDBG
Feb 22 PHP
Symfony实现行为和模板中取得request参数的方法
Mar 17 PHP
PHP书写格式详解(必看)
May 23 PHP
PHP中的函数声明与使用详解
May 27 PHP
php实现将二维关联数组转换成字符串的方法详解
Jul 31 PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 PHP
php格式文件打开的四种方法
Feb 24 PHP
PHP加MySQL消息队列深入理解
Feb 27 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&&mysql)三
2006/10/09 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
解析php取整的几种方式
2013/06/25 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
PHP中的密码加密的解决方案总结
2016/10/26 PHP
jquery.ui.draggable中文文档
2009/11/24 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
浅析JQuery中的html(),text(),val()区别
2014/09/01 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
Node.js中使用socket创建私聊和公聊聊天室
2015/11/19 Javascript
BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)
2016/08/18 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
python实时监控cpu小工具
2018/06/21 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
Python编写带选项的命令行程序方法
2019/08/13 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
Python生成器实现简单"生产者消费者"模型代码实例
2020/03/27 Python
浅谈python 调用open()打开文件时路径出错的原因
2020/06/05 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
20年同学聚会邀请函
2014/02/04 职场文书
自主招生教师推荐信
2014/05/10 职场文书
水利水电专业自荐信
2014/07/08 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
婚礼父母答谢词
2015/01/04 职场文书
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers