ReflectionException - Class DatabaseSeeder does not exist ,Laravel Seeder

9 浏览
0 Comments

ReflectionException - Class DatabaseSeeder does not exist ,Laravel Seeder

这个问题已经有了答案:

Laravel 5 - artisan seed [ReflectionException] Class SongsTableSeeder does not exist

我有不同文件夹中的数据库种子类。 当我编写db:seed时,控制台会显示此错误:

[ReflectionException]   Class DatabaseSeeder does not exist , Laravel Seeder

其中一个类是这样的:

namespace Database\Seeds;
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use TiposCompromisosTableSeeder;
class DatabaseSeeder extends Seeder {
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
            Eloquent::unguard();
            $this->call('TiposCompromisosTableSeeder');
    }
}

而我的另一个类是

namespace Database\Seeds;
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class TiposCompromisosTableSeeder extends Seeder{
    public function run(){
        DB::table('tipos')->insert(array(
            'nombre' => 'prioridad',
            'tabla' => 'compromisos',
            'str1' => 'baja',
            'int1' => 1
        ));
    }
}

我尝试使用

composer dump-autoupload 

但不起作用。

正如您所见,我在同一个命名空间中拥有这两个类。

请帮忙。

admin 更改状态以发布 2023年5月21日
0
0 Comments

在两个类中删除您的命名空间定义,然后使用“composer dump-autoload”。

然后它就可以正常工作了。

0
0 Comments

如果您最近升级了 Laravel 版本,请检查您的 composer.json

您的 "autoload" 部分应该类似下面的代码片段

注意:您可能需要在 "classmap" 下面添加 "database" 条目

"autoload": {
        "classmap": [
          "app/Library",
          "app/Models",
          "database"
        ],
        "psr-4": {
            "App\\": "app/"
        },
        "files": [
            "app/Library/helpers.php"
        ]
    },

然后您应该运行 composer dump-autoload 并尝试 php artisan db:seed

0