Laravel 5 / Spark - 将数据从表单请求传递到控制器

Laravel 5 / Spark - Pass data from form request to controller

在 Laravel Spark 中工作,并有一个自定义 API 端点检查用户凭据但不登录,只是 return 用户数据。

我有一个表单请求,用于检查是否需要电子邮件和密码,然后我使用

withValidator()

到 运行 对密码进行更多验证。

public function rules()
{
    return [
        'email' => 'required|email|exists:users',
        'password' => 'required'
    ];
}

public function withValidator($validator)
{
    $validator->after(function ($validator) {

        $user = User::where('email', $this->email)->first();

        if ( $user && !Hash::check($this->password, $user->password) ) {
            $validator->errors()->add('password', 'Incorrect password');
        } else {
            // Pass the user to the controller
        }

    });
}

在我的控制器中,我希望能够 return 用户,但我不想 运行 通过检查哈希等

我只是希望能够做到:

return $request->user

或类似。

有办法吗?

为什么不直接在控制器中执行此操作?

$user = User::where('email', $request->email)->first();

如果你把这个放在验证器之后,你就已经知道用户是有效的,否则验证器会在到达那个点之前失败。