我正在对Request $request
中的多个email
参数及其各自的表使用unique
规则。
...
'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
发送值时,我遇到以下错误。
IlluminateDatabaseQueryException: 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',