我有一个有的用户模型,有一个名为admin_users的表,已在模型中规定(protected $table = 'admin_users';
)
我使用Laravel Collective表格如下:
{!! Form::model($user, ['route' => ['users.update', $user->id], 'method' => 'put']) !!}
我的验证如下:
$rules = array(
'first_name' => 'required',
'last_name' => 'required',
'email' => 'email|max:255|unique:users',
'country_id' => 'required|numeric',
'user_status' => 'required'
);
我使用Laravel Collective FORM::model
的唯一原因是为了在验证失败时轻松获取请求输入:
(return redirect()->back()->withErrors($validator)->withInput($request->all())
虽然我得到验证成功:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'crm.users' doesn't exist (SQL: select count(*) as aggregate from `users` where `email` = jocelyn33@example.com)
奇怪的是,它没有从User类表中获取表。
我的问题是,如果我决定放弃{FORM::model
获取admin_users
表名而不是users
,和 {1}}并使用FORM::model
,我仍然可以获得失败验证的请求输入吗?
答案 0 :(得分:1)
您的验证规则定义了用于唯一检查的表格:
'email' => 'email|max:255|unique:users',
unique:users
告诉使用users
表的唯一规则。
unique:table,column,except,idColumn
-
Laravel Docs 5.6 - Validation - Unique Rule