Класс '\ App\User' не найден в Laravel при изменении пространства имен
Я имею эту ошибку при перемещении User.php
в Models/User.php
local.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: фатальная ошибка: класс '\ App\User' не найден
продавец/Laravel/рамки /SRC/Осветите /Auth/EloquentUserProvider.php: 126
Ответы
Ответ 1
Перейдите в config/auth.php и измените App\User: class на App\Models\User:: class.
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
Также измените пространство имен модели User.php
namespace App\Models;
Ответ 2
Эти ответы неверны, вам не нужно менять пространство имен на \App\Models\User. Автозагрузка загрузит папку моделей, но класс все еще может быть class User
, а пространство имен должно быть App
. Это то, как он настроен в вашем файле?
namespace App;
class User extends Model {}
Ответ 3
Наконец, я смог его решить, изменив этот код.
array (
'driver' => 'eloquent',
'model' => 'App\\Models\User',
),
Ответ 4
Для меня это решило изменить:
'model' => '{YourAppName}\User',
Ответ 5
Перезагрузите композитор загруженных классов.
composer dump-autoload
Ответ 6
Случилось так, что вы изменили местоположение файла user.php.
Ваша система по-прежнему ищет файл user.php в старой папке. Вам необходимо предоставить системе правильный путь к файлу.
Я хочу, чтобы вы изменили код с 'model' = > App\User:: class, на
'model' = > App\Models\User:: class,
Ответ 7
Если вы используете аутентификацию по умолчанию в Laravel (php artisan make:auth
), вы должны изменить RegisterController
в app/Http/Controllers/Auth/
use App\User;
в
use App\Models\User;
Кроме того, для остальной функциональности вы изменили пространство имен на вашей модели пользователя:
namespace App\Models;
И измени конфиг /auth.php
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
Ответ 8
если вы используете файл модели user.php в папке Models/user.php, то вам нужно изменить следующий файл, чтобы не было ошибок
где поменять если мы создадим Model Folder в App\http??
сменщик в следующем пути ---
1 Config - - auth.php - поиск смены ключа пользователя ---> app\user TO app\Models\user
2 venedor/composer / -autoload_classmap.php → Путь BAse (app\user TO app\Models\user) -autoload_static.php → Путь BAse (app\user TO app\Models\user )
Ответ 9
Вам нужно изменить App\User на App\Models\User в config/auth.php
Ответ 10
Если конфиг приложения кешируется, возможно, он не сможет получить новую конфигурацию, потому что config: cache выдает эту ошибку перед очисткой и кэшированием конфигурации, поэтому просто удалите кеш вручную:
rm bootstrap/cache/config.php
Ответ 11
Проверьте, соответствует ли ваш импорт точному названию вашего класса. Я обнаружил, что в одном из моих контроллеров был импортирован App\user
с "u" в нижнем регистре вместо App\User
с "u" в верхнем регистре