Я переместил модель User из каталога приложений по умолчанию в приложение / Модели.
 Я обновил пространство имен в User to namespace App\Models;  но я получаю эту ошибку: 
 FatalErrorException in EloquentUserProvider.php line 122: Class '\App\User' not found 
У меня есть правильная запись в моем json-файле:
 "autoload": { "classmap": [ "database", "app/Modules", "app/Models" ], "psr-4": { "App\\": "app/", "Modules\\": "app/Modules/" } }, 
Что я пропустил?
  Вам необходимо обновить файл config / auth.php .  Измените 'model' => 'App\User' на 'model' => 'App\Models\User' . 
Не забывайте очищать кеш после всех предыдущих изменений
 php artisan config:clear 
  Не забудьте изменить пространство имен User.php . 
  Например, если ваша модель пользователя находится в /App/User.php тогда первая строка должна /App/User.php образом: 
 <?php namespace App; 
  Однако, если вы создали каталог /Models и ваша модель пользователя теперь находится в /App/Models/User.php , первая строка User.php должна ссылаться на это новое пространство имен: 
 <?php namespace App\Models; 
Надеюсь, это поможет.
* Примечание. Моя тактика, вероятно, технически «неверна», поскольку она загрязняет глобальное пространство имен. Тем не менее, мне не удалось заставить другие ответы работать и опубликовать это только в крайнем случае. *
Я сделал это несколько иначе, чем другие ответы. Я также использую Laravel 5.
1) Я создал каталог app / Models и переместил User.php в этот каталог.
2) Я изменил /app/Models/User.php, удалив пространство имен вверху. Это может загрязнять глобальное пространство имен, но это единственный способ заставить его работать.
 <?php // !!!! NOTICE no namespace here !!!!! use Illuminate\Auth\Authenticatable; use Illuminate\Database\Eloquent\Model; use Illuminate\Auth\Passwords\CanResetPassword; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; class User extends Model implements AuthenticatableContract, CanResetPasswordContract { use Authenticatable, CanResetPassword; /** * The database table used by the model. * * @var string */ protected $table = 'users'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = ['first_name', 'last_name', 'email', 'password']; /** * The attributes excluded from the model's JSON form. * * @var array */ protected $hidden = ['password', 'remember_token']; } 
3) Я добавил «app / Models» в раздел автозагрузки в composer.json:
 "autoload": { "classmap": [ "database", "app/Models" // <==== I added this ], "psr-4": { "App\\": "app/" } }, 
4) Я изменил auth.php следующим образом:
 /* |-------------------------------------------------------------------------- | Authentication Model |-------------------------------------------------------------------------- | | When using the "Eloquent" authentication driver, we need to know which | Eloquent model should be used to retrieve your users. Of course, it | is often just the "User" model but you may use whatever you like. | */ 'model' => '\User', 
Для справки, вот моя миграция таблицы пользователей:
 <?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function(Blueprint $table) { $table->increments('id'); $table->string('first_name'); $table->string('last_name'); $table->string('email')->unique(); $table->string('password', 60); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('users'); } } 
И вот мой файл UsersTableSeeder.php:
 <?PHP use Illuminate\Database\Seeder; use Illuminate\Database\Eloquent\Model; class UsersTableSeeder extends Seeder { public function run() { DB::table('users')->delete(); $users = [ [ 'id' => 1, 'first_name' => 'Bret', 'last_name' => 'Lastname', 'email' => 'email@domain.com', 'password' => Hash::make('my raw dev password')] ]; foreach($users as $user){ \User::create($user); } } } ?> 
После того, как все эти обновления были выполнены, в командной строке я запустил:
 composer dump-autoload php artisan migrate --seed 
Надеюсь это поможет!
Не забудьте изменить
 use App\User; 
в
 use App\Models\User; 
в AuthController.php
Если у вас есть ваши модели в определенной папке, вам нужно запустить
 composer dump-autoload 
обновить 🙂