当它把
'merchant' => [ 'driver' => 'session', 'provider' => 'users', ],
但是当我设置一个不同的表时它显示错误
'merchant' => [ 'driver' => 'session', 'provider' => 'merchants', ],
Error:服务器端发生异常。未定义身份验证用户提供程序[]。出什么事了。你能解释一下吗?谢谢。
wgx48brx1#
一开始你创建了你的商家供应商吗?如果你没有
php artisan make:provider MerchantServiceProvider
然后,您必须在以下位置注册您的提供商:配置文件/app.php
'providers' => [ App\Providers\RouteServiceProvider::class ]
isr3a4wc2#
如果你想修改注册表/认证表,你只需要在config/auth.php文件中修改
'providers' => [ 'users' => [ 'driver' => 'eloquent', /*change this ---->*/ 'model' => App\<modelclassname>::class, ],
这是身份验证用户提供程序,因此,如果要添加新的提供程序,则需要向此数组中添加另一个提供程序。出现错误是因为您调用的提供程序机制未在此处注册。然后检查/app/modelname. php文件中是否有这样一个受保护的表:
protected $table = 'merchant'; // ----> this is your table name
所以如果你想使用多个提供者,你应该在config/auth.php文件的user provider部分注册你的提供者,你的provider数组应该如下所示:
'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\Users::class, ], 'merchant' => [ 'driver' => 'eloquent', 'model' => App\Merchant::class, ], ],
之后,您应该能够在编写问题时使用提供程序。
jvlzgdj93#
您可以始终使用我的包https://github.com/Hesto/multi-auth,并将注意力集中在应用程序上,而不是这种烦人的配置。
m3eecexj4#
可以使用数据库或元素关系作为驱动器。
'branchs' => [ 'driver' => 'database', 'provider' => 'merchants', ],
4条答案
按热度按时间wgx48brx1#
一开始你创建了你的商家供应商吗?
如果你没有
然后,您必须在以下位置注册您的提供商:配置文件/app.php
isr3a4wc2#
如果你想修改注册表/认证表,你只需要在config/auth.php文件中修改
这是身份验证用户提供程序,因此,如果要添加新的提供程序,则需要向此数组中添加另一个提供程序。出现错误是因为您调用的提供程序机制未在此处注册。
然后检查/app/modelname. php文件中是否有这样一个受保护的表:
所以如果你想使用多个提供者,你应该在config/auth.php文件的user provider部分注册你的提供者,你的provider数组应该如下所示:
之后,您应该能够在编写问题时使用提供程序。
jvlzgdj93#
您可以始终使用我的包https://github.com/Hesto/multi-auth,并将注意力集中在应用程序上,而不是这种烦人的配置。
m3eecexj4#
可以使用数据库或元素关系作为驱动器。