在registerController验证中访问Request参数

时间:2019-04-29 17:43:35

标签: php laravel laravel-5.5

我在数据库中有2种类型的用户,它们具有不同的字段/列(不是users表,users表是相同的,因为它们具有不同的配置文件)

所以在我的registerController.php中,我具有此验证功能

protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => 'required|string|max:255',
        'last_name' => 'required|string|max:255',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:6|confirmed',
    ]);
}

仅涵盖一种类型的用户,我需要访问

$request->input('user_type');

此功能使我可以为每个用户运行正确的验证

我已经尝试了以前可以在较旧的laravel版本中使用的功能

private $request ; 
public function __construct(Request $request)
{
    $this->middleware('guest');
    $this->request = $request ; 
}

但是在laravel 5.5版本中我无法使用

Unresolvable dependency resolving [Parameter #0 [ <required> $method ]] in class GuzzleHttp\Psr7\Request

1 个答案:

答案 0 :(得分:0)

当Laravel无法解析对您的__construct方法的依赖项时,就会发生这种情况。您的情况是Request $request。如您的错误所示,它正在尝试注入laravel无法解决的依赖项GuzzleHttp\Psr7\Request(没有答案)。

对于您来说,快速解决方案可能是在文件的开头导入正确的依赖项。

<?php

namespace ...;

use Illuminate\Http\Request;
use GuzzleHttp\Psr7\Request as GuzzleRequest;