Laravel 集体 - 非 eloquent table 名称的模型绑定问题
Laravel Collective - Model binding issue for non eloquent table names
我有一个用户模型有有一个名为admin_users的table,这已经在模型中规定了(protected $table = 'admin_users';
)
我正在使用Laravel集体形式如下:
{!! 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)
奇怪的是它没有从用户 class table.
中获取 table
我的问题是是否有办法让 FORM::model
获得 admin_users
table 名称而不是 users
、 和 如果我决定放弃 FORM::model
并使用 FORM::open
,我是否仍然能够取回验证失败的请求输入?
您的验证规则正在定义 table 用于唯一检查的内容:
'email' => 'email|max:255|unique:users',
unique:users
告诉唯一规则使用 users
table.
unique:table,column,except,idColumn
-
Laravel Docs 5.6 - Validation - Unique Rule
我有一个用户模型有有一个名为admin_users的table,这已经在模型中规定了(protected $table = 'admin_users';
)
我正在使用Laravel集体形式如下:
{!! 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)
奇怪的是它没有从用户 class table.
我的问题是是否有办法让 FORM::model
获得 admin_users
table 名称而不是 users
、 和 如果我决定放弃 FORM::model
并使用 FORM::open
,我是否仍然能够取回验证失败的请求输入?
您的验证规则正在定义 table 用于唯一检查的内容:
'email' => 'email|max:255|unique:users',
unique:users
告诉唯一规则使用 users
table.
unique:table,column,except,idColumn
-
Laravel Docs 5.6 - Validation - Unique Rule