php - Laravel Validator 针对不同表的多个唯一规则
问题描述
我在各自的表中使用多个参数的unique
规则。email
Request $request
...
'company_email' => 'required|email|max:255|unique:users',
'personal_email' => 'required|email|max:255|unique:companies',
...
$validator = Validator::make($request->all(), $rules);
为两个表存储电子邮件的列是 name email
。
当我发送值时personal_email
遇到以下错误。
Illuminate\Database\QueryException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'personal_email' in 'where clause' (SQL: select count(*) as aggregate from `users` where `personal_email` = email@email.com)
我的问题是如何为这两个规则指定实际的列名?
环境:
拉拉维尔 5.8
解决方案
你可以通过它unique:users
和unique:companies
规则
'company_email' => 'required|email|max:255|unique:users,users_email_column',
'personal_email' => 'required|email|max:255|unique:companies,companies_email_column',
推荐阅读
- python - 元素
- spring-boot - Spring Boot Starter Tomcat 2.3.9 javax/注释不一致
- css - 当行中有两个项目时,如何使用 flexbox 设置样式以保持文本居中
- javascript - 如何在 REACT 中过滤简单的表/数组
- javascript - 如何比较输入是否为空或不是数组中的对象
- python - python 2.7.17中GC期间的分段错误
- excel - 从另一个工作簿返回行值
- python - 前馈神经网络中计算损失的问题
- python - 创建图层时处理符号张量的无维度
- javascript - 无法使用 Javascript 添加复制复制事件