Он работает, когда он
'merchant' => [ 'driver' => 'session', 'provider' => 'users', ],
Но он показывает ошибку, когда я устанавливаю другую таблицу
'merchant' => [ 'driver' => 'session', 'provider' => 'merchants', ],
Ошибка: InvalidArgumentException в строке CreatesUserProviders.php 40: поставщик пользователя аутентификации [] не определен.
В чем проблема. Не могли бы вы объяснить мне? Благодарю.
Сначала вы создали своих поставщиков торговцев?
если вы didnt
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, ],
Это поставщик пользователей аутентификации, поэтому, если вы хотите добавить нового провайдера, вам нужно добавить другого поставщика в этот массив. Ошибка, которую вы имеете, связана с тем, что провайдер-механик, который вы звоните, здесь не зарегистрирован.
И проверьте, что ваш /app/modelname.php имеет защищенную таблицу, созданную следующим образом:
protected $table = 'merchant'; // ----> this is your table name
Поэтому, если вы хотите использовать несколько поставщиков, вы должны зарегистрировать своего провайдера в разделе поставщика услуг файла config / auth.php. Ваш массив поставщиков должен выглядеть следующим образом:
'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\Users::class, ], 'merchant' => [ 'driver' => 'eloquent', 'model' => App\Merchant::class, ], ],
После этого вы сможете использовать провайдера при написании в вопросе.
Вы всегда можете использовать мой пакет https://github.com/Hesto/multi-auth и сосредоточиться на своем приложении вместо этой досадной конфигурации.