You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel数据库播种报错:Target class [Database\Seeders\PermissionTableSeeder]不存在

问题排查与解决方案

核心问题:类名与调用名称不匹配

你在DatabaseSeeder.php中调用的是PermissionTableSeeder::class,但实际对应的类名是PermissionsTableSeeder(文件名也是PermissionsTableSeeder.php),两者差了一个字母s,这是导致Laravel无法找到目标类的直接原因。

解决方案步骤

  • 修正调用的类名
    修改DatabaseSeeder.php中的调用代码,将PermissionTableSeeder::class改为PermissionsTableSeeder::class:

    <?php
    
    namespace Database\Seeders;
    
    use Illuminate\Database\Seeder;
    
    class DatabaseSeeder extends Seeder
    {
        public function run()
        {
            $this->call([
                PermissionsTableSeeder::class,
                RolesTableSeeder::class,
                PermissionRoleTableSeeder::class,
                UsersTableSeeder::class,
                RoleUsersTableSeeder::class,
            ]);
        }
    }
    
  • 更新Composer自动加载映射
    执行命令确保自动加载文件同步更新:

    composer dump-autoload
    
  • 额外检查:模型引入缺失
    在PermissionsTableSeeder.php中,直接使用Permissions::insert()但未引入对应模型类,需添加use语句(路径根据你的实际模型位置调整):

    <?php
    
    namespace Database\Seeders;
    
    use Illuminate\Database\Console\Seeds\WithoutModelEvents;
    use Illuminate\Database\Seeder;
    use App\Models\Permissions; // 添加模型引入
    
    class PermissionsTableSeeder extends Seeder
    {
        public function run()
        {
            $permissions = [
                ['id' => 1, 'title' => 'user_access'],
                ['id' => 2, 'title' => 'task_access'],
            ];
    
            Permissions::insert($permissions);
        }
    }
    
  • 重新执行播种命令
    运行以下命令完成数据库播种:

    php artisan db:seed
    

内容的提问来源于stack exchange,提问作者Gizmo Hey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 02:25:21