LARAVEL 8:未找到类“Database\Seeders\DB”

5 php laravel eloquent laravel-8

我正在使用播种机来填充我的users表格,因此我创建了一个名为的新播种机UserSeeder,然后向其中添加了以下代码:

public function run()
{
    foreach(range(1,10) as $item)
    {
        DB::table('users')->insert([
            'name' => "name $item",
            'email' => "email $item",
            'email_verified_at' => now(),
            'password' => "password $item" 
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

之后我尝试过,php artisan db:seed --class=UserSeeder但它显示给我:

错误

找不到类“数据库\种子\数据库”

这与这条线有关:

DB::table('users')->insert([
Run Code Online (Sandbox Code Playgroud)

那么为什么在那里找不到它,我现在该怎么办?

Anu*_*ond 22

这是因为 Laravel 将在当前命名空间 Database\Seeders 中查找 DB 类。

由于 Laravel 定义了门面config/app.php,允许您使用那些没有完整类名的类。

    'DB' => Illuminate\Support\Facades\DB::class,
Run Code Online (Sandbox Code Playgroud)

您可以在命名空间声明之后声明 DB 类

use DB;
Run Code Online (Sandbox Code Playgroud)

或者只是使用它与反斜杠。

    \DB::table('users')->insert([
Run Code Online (Sandbox Code Playgroud)


小智 10

在 UserSeeder 类中添加:

使用 Illuminate\Support\Facades\DB;