提问者:小点点

目标类[UsersTableSeeder]不存在


当我运行php artisan db:seed时,我得到以下错误:

(注意-我用的是laravel最新版本7)

照明\Contracts\Container\BindingResolutionException

目标类[UsersTableSeeder]不存在。


共2个答案

匿名用户

默认的laravel安装没有UserStableSeeder。您需要通过运行

php artisan make:seeder UsersTableSeeder

匿名用户

Laravel默认情况下没有UserTableSeeder。 您可以通过运行以下artisan命令创建一个:

php artisan make:seeder UsersTableSeeder

运行该命令后,您可以在数据库目录中找到种子程序。 在播种机的运行函数中,您可以创建所需的用户。

下面的示例适用于我的RoleSeeder,但它可能会为合适的解决方案提供一些指导:

/**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {

        $customer = Role::updateOrCreate(['name' => 'customer']);
        $customerPermissions = [
            'view users',
            'create users',
            'edit users',
            'delete users',
            'view machines',
            'view profile',
            'edit profile',
            'view documents',
        ];
  $customer->givePermissionTo($customerPermissions);
}

我建议使用updateOrCreate函数,只是因为在测试中,您可能希望多次运行种子程序。 此函数将检查记录是否已经存在,并相应地更新记录