Laravel 5 中的 运行 播种机找不到模型 class

Model class not found when running Seeder in Laravel 5

我正在为我的应用程序创建管理员授权,并使用 artisan 命令生成了模型:

php artisan make:model Admin -m

这是生成的class:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Admin extends Model
{
    //
}

这创建了一个空模型和一个基本迁移。我将此行添加到迁移中:

public function up()
    {
        Schema::create('admins', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name', 32);
            $table->string('username', 32);
            $table->string('email', 320);
            $table->string('password', 64);            
            $table->string('remember_token', 100)->nullable();
            $table->timestamps();
        });
    }

然后我用命令行创建了一个播种器:

php artisan make:seeder AdminTableSeeder

并将播种机添加到 DatabaseSeeder

public function run()
    {
        $this->call(AdminTableSeeder::class);
    }

但是当我 运行 播种器 php artisan db:seed 时,我得到一个 class 缺失错误:

PHP Fatal error: Class 'Admin' not found in /laravelpath/database/seeds/AdminTableSeeder.php on line 15

[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'Admin' not found

好像是Admin模式。

我已经尝试 运行 修复 composer updatecomposer dump-autoload 但它们没有帮助。

有人知道发生了什么事吗?为什么会出现此错误以及如何修复它?

额外信息: 我在某处读到我应该为我的应用程序命名,所以我执行了 php artisan app:name MyAppName 并在所有地方添加了命名空间(至少在 Http文件夹)。我不确定它是否弄乱了我的 classes。

@edit 1

这是 AdminTableSeeder

use Illuminate\Database\Seeder;

class AdminTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('admins')->delete();
        Admin::create(array(
            'name'     => 'Victor Ferreira',
            'username' => 'victorferreira',
            'email'    => 'victor.ferreira@live.com',
            'password' => Hash::make('123456'),
        ));
    }
}

在你的AdminTableSeeder.php

use App\Models\Admin;

查看您的管理模型,它位于 App\Models 命名空间下,这意味着您的管理模型位于 app/Models/ 文件夹下。如果这不起作用,以防您的 Admin 不在 app/Models 文件夹下,则从您的 Admin 模型中删除模型并创建命名空间 App\Admin

你用运行这个命令检查过了吗?

composer dump-autoload

你必须运行这个命令来自动加载所有新创建的文件。

运行 运行 或执行播种器文件之前的以下命令

composer dump-autoload -o