Laravel:在 FormRequest 规则上获取 ID
Laravel: Get ID on a FormRequest Rule
我创建了一个规则来检查电子邮件是否已经存在,只有当字段被更改时。
$rules = [
'user-name' => 'required',
'user-email' => [
'required',
'email',
Rule::unique('users', 'email')->ignore(ID)
],
];
但是我需要告知用户ID。我怎样才能获取这些信息?
Route::resource('users', 'UsersController')->middleware('permission:create users');
在您的表单请求中,您可以访问经过身份验证的用户,因此您可以使用:
$this->user()->id
--- 编辑
从 url 获取 ID:
request()->route('id')
-- 第二次尝试
$this->route('user')
或者使用 php artisan route:list
和 url 上使用的任何内容作为 {user}
或 {id}
打印出来,这就是您需要使用的内容。
试试这个代码
$id = app('request')->segment(2);
我不确定,但可以工作
$id = app('request')->user_id
请尝试此代码。我正在使用此代码在更新数据时获取 request-id,它适用于我。
$id = $this->route('params_name');
我创建了一个规则来检查电子邮件是否已经存在,只有当字段被更改时。
$rules = [
'user-name' => 'required',
'user-email' => [
'required',
'email',
Rule::unique('users', 'email')->ignore(ID)
],
];
但是我需要告知用户ID。我怎样才能获取这些信息?
Route::resource('users', 'UsersController')->middleware('permission:create users');
在您的表单请求中,您可以访问经过身份验证的用户,因此您可以使用:
$this->user()->id
--- 编辑
从 url 获取 ID:
request()->route('id')
-- 第二次尝试
$this->route('user')
或者使用 php artisan route:list
和 url 上使用的任何内容作为 {user}
或 {id}
打印出来,这就是您需要使用的内容。
试试这个代码
$id = app('request')->segment(2);
我不确定,但可以工作
$id = app('request')->user_id
请尝试此代码。我正在使用此代码在更新数据时获取 request-id,它适用于我。
$id = $this->route('params_name');