Как переместить пользовательскую модель laravel 5.1 в AppModelsUser?


Можно ли сказать Ларавелу, что я переместил User.php модель?

Ларавель 5.1

FatalErrorException in EloquentUserProvider.php line 126: 
Class '\App\User' not found

Мне действительно не хотелось, чтобы все модели находились в корне папки приложения в laravel 5.1, поэтому я создал новую папку и поместил в нее все файлы php моделей: \App\Models

Я изменил контроллер аутентификации, чтобы использовать новый use App\Models\User; и исправил все файлы модели в папке модели..

Однако, когда я загружаю страницу, я получаю упомянутую ошибку выше.

(другие файлы моделей, конечно, работают нормально, так как к ним обращается мой код, это просто готовые файлы аутентификации из laravel 5.1)

Author: John, 2015-11-28

2 answers

Например, если вы создаете папку (например, приложение/Модели), есть два способа переместить ваши модели:

1) Стиль Laravel5 = Использовать PSR4

Пространство имен все ваши файлы моделей с пространством имен App\Models; Получите доступ к своим моделям в любом месте с их полным пространством имен, например: \App\Models\User::find(1);

2) Стиль Laravel4

Загрузите свою модель с помощью автозапуска composer. В composer.json добавьте:

"autoload": {
        "classmap": [
            "database",
            "app/Models"            
        ],
        ...

Вам не нужно создавать пространство имен для своих моделей. Они находятся в корневом пространстве имен В файлы с пространством имен, к которым вы можете получить доступ как \Пользователь::найти(1);

Дополнительные примечания:

  • Если вы измените пространство имен пользовательской модели, вам необходимо обновить config\auth.php => 'model'=> App\Models\User::class

  • Самый простой способ избавиться от длинных пространств имен - это импортировать ваши модели в начале ваших php-файлов, например: use App\Models\User;

Ссылки:

 19
Author: Bene, 2015-11-28 19:52:25

Вам необходимо изменить ваш файл Project/config/auth.php на 'model'=> AppName\Models\User::class,

 11
Author: JP Blanco, 2015-11-28 19:44:39