LARAVEL 8: Class 'Database\Seeders\DB' 未找到
LARAVEL 8: Class 'Database\Seeders\DB' not found
我正在使用播种器来填充我的 users
table,因此我创建了一个名为 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"
]);
}
}
之后我尝试了 php artisan db:seed --class=UserSeeder
但它显示:
Error
Class 'Database\Seeders\DB' not found
与这一行相关的是:
DB::table('users')->insert([
那为什么在那里找不到,我现在该怎么办?
那是因为 Laravel 将在当前命名空间 Database\Seeders.
中查找数据库 class
因为 Laravel 在 config/app.php
中定义了外观,这允许您使用那些没有完整 class 名称的 classes。
'DB' => Illuminate\Support\Facades\DB::class,
您可以在命名空间声明之后声明 DB class
use DB;
或仅将其与反斜杠一起使用。
\DB::table('users')->insert([
在 UserSeeder Class 添加:
使用Illuminate\Support\Facades\DB;
我正在使用播种器来填充我的 users
table,因此我创建了一个名为 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"
]);
}
}
之后我尝试了 php artisan db:seed --class=UserSeeder
但它显示:
Error
Class 'Database\Seeders\DB' not found
与这一行相关的是:
DB::table('users')->insert([
那为什么在那里找不到,我现在该怎么办?
那是因为 Laravel 将在当前命名空间 Database\Seeders.
中查找数据库 class因为 Laravel 在 config/app.php
中定义了外观,这允许您使用那些没有完整 class 名称的 classes。
'DB' => Illuminate\Support\Facades\DB::class,
您可以在命名空间声明之后声明 DB class
use DB;
或仅将其与反斜杠一起使用。
\DB::table('users')->insert([
在 UserSeeder Class 添加:
使用Illuminate\Support\Facades\DB;