【问题标题】:Laravel Validator multiple unique rules for different tables [duplicate]Laravel Validator 针对不同表的多个唯一规则[重复]
【发布时间】:2020-02-14 09:16:09
【问题描述】:

我将unique 规则用于Request $request 中的多个email 参数及其各自的表。

...
'company_email' => 'required|email|max:255|unique:users',
'personal_email' => 'required|email|max:255|unique:companies',
...
$validator = Validator::make($request->all(), $rules);

为两个表存储电子邮件的列是名称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)

我的问题是如何为这两个规则指定实际的列名?

环境:

Laravel 5.8

【问题讨论】:

  • unique:table,column
  • 这样使用:'company_email' => 'required|email|max:255|unique:users,users_table_email_column_name', 'personal_email' => 'required|email|max:255|unique:companies,companies_table_email_column_name',

标签: php laravel validation


【解决方案1】:

unique:usersunique:companies规则之后可以通过

'company_email' => 'required|email|max:255|unique:users,users_email_column',
'personal_email' => 'required|email|max:255|unique:companies,companies_email_column',

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-28
    • 2019-05-02
    • 2018-02-12
    • 2015-02-27
    • 1970-01-01
    • 2018-12-21
    • 2018-05-24
    • 2016-02-20
    相关资源
    最近更新 更多