Laravel:根据FormRequest规则获取ID

时间:2019-03-14 17:08:36

标签: php laravel laravel-5.7

我创建了一个规则,仅在更改字段时检查电子邮件是否已经存在。

$rules = [
    'user-name'      => 'required',
    'user-email'     => [
        'required',
        'email',
        Rule::unique('users', 'email')->ignore(ID)
    ],
];

但是我需要告知用户ID。我该如何获取这些信息?

Route::resource('users', 'UsersController')->middleware('permission:create users');

2 个答案:

答案 0 :(得分:3)

在您的表单请求中,您可以访问经过身份验证的用户,因此可以使用:

$this->user()->id

---编辑

从网址中获取ID:

request()->route('id')

-第二次尝试

$this->route('user')

或者使用php artisan route:list进行打印,并使用{user}{id}在URL上使用的所有内容。

答案 1 :(得分:0)

尝试此代码

$id = app('request')->segment(2);

我不确定,但是可以工作

$id = app('request')->user_id