Php Laravel多重身份验证-未定义身份验证用户提供程序[]

Php Laravel多重身份验证-未定义身份验证用户提供程序[],php,laravel,laravel-5.3,Php,Laravel,Laravel 5.3,当它把 'merchant' => [ 'driver' => 'session', 'provider' => 'users', ], 但当我设置不同的表时,它显示错误 'merchant' => [ 'driver' => 'session', 'provider' => 'merchants', ], 错误: CreatesUserProviders.php第40行中的I

当它把

'merchant' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
但当我设置不同的表时,它显示错误

'merchant' => [
        'driver' => 'session',
        'provider' => 'merchants',
    ],
错误: CreatesUserProviders.php第40行中的InvalidArgumentException:未定义身份验证用户提供程序[]

问题是什么。你能给我解释一下吗?
谢谢。

首先,您是否创建了商户提供商

如果你没有

php artisan make:provider MerchantServiceProvider
然后您必须在:config/app.php中注册您的提供者/

'providers' => [ App\Providers\RouteServiceProvider::class ]

如果要更改注册表/身份验证表,请返回所做的更改,只需在config/auth.php文件中进行更改

    'providers' => [
            'users' => [
                'driver' => 'eloquent',
/*change this ---->*/ 'model' => App\<modelclassname>::class,
            ],
因此,如果要使用多个提供程序,应在config/auth.php文件的用户提供程序部分注册提供程序。您的提供程序阵列应如下所示:

protected $table = 'merchant';  // ----> this is your table name
'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Users::class,
        ],
        'merchant' => [
            'driver' => 'eloquent',
            'model' => App\Merchant::class,
        ],
    ],

之后,您应该能够在编写问题时使用提供程序。

您可以始终使用我的软件包,并将注意力集中在您的应用程序上,而不是这种恼人的配置。

您可以使用数据库或elequent relationship作为驱动程序

    'branchs' => [
        'driver' => 'database',
        'provider' => 'merchants',

    ],

'providers'=>[App\providers\RouteServiceProvider::class]或'providers'=>[App\providers\MerchantServiceProvider::class]?MerchantServiceProvider,很抱歉回答得太晚