Laravel php artisan db:seed 导致 "use" 语句错误
Laravel php artisan db:seed leads to "use" statement error
当我尝试 运行 php artisan db:seed
时,出现以下错误:
The use statement with non-compound name 'DB' has no effect
我已经根据 snippet from the doc 编写了我自己的播种器文件,并将其包含在下面。如您所见,我正在使用 use DB
快捷方式 - 这就是问题所在吗?
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use DB;
class ClassesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('classes')->delete();
DB::table('classes')->insert([
'class_name' => 'Test course 111',
'class_id' => '1',
'location_name' => 'Barnes',
'location_id' => '1',
'date' => '2015-06-22',
'month' => '06/2015',
'start_time' => '08:00',
'end_time' => '16:00',
'places' => '19',
'places_left' => '19',
'price' => '155.00'
]);
}
}
在 PHP 中,use 语句更像是一个 alias 而不是导入。因此,由于 ClassesTableSeeder class 不在定义的命名空间中,因此您不需要导入数据库 class。因此,您可以完全删除 use DB。
在播种机中 class 您不需要 use DB
在页面顶部声明。在 config>app.php
别名数组中写入的任何别名都不需要 use
语句。这是因为 seeder 没有任何命名空间。
在 laravel 迁移中您不需要调用数据库;
移除use DB;
使用以下内容代替 use DB
。
use DB as DBS;
之后就可以按如下方式使用了
DBS::table('foo')->insert([
'name'=>'bar',
]);
使用以下代替 use DB
use Illuminate\Support\Facades\DB;
当我尝试 运行 php artisan db:seed
时,出现以下错误:
The use statement with non-compound name 'DB' has no effect
我已经根据 snippet from the doc 编写了我自己的播种器文件,并将其包含在下面。如您所见,我正在使用 use DB
快捷方式 - 这就是问题所在吗?
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use DB;
class ClassesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('classes')->delete();
DB::table('classes')->insert([
'class_name' => 'Test course 111',
'class_id' => '1',
'location_name' => 'Barnes',
'location_id' => '1',
'date' => '2015-06-22',
'month' => '06/2015',
'start_time' => '08:00',
'end_time' => '16:00',
'places' => '19',
'places_left' => '19',
'price' => '155.00'
]);
}
}
在 PHP 中,use 语句更像是一个 alias 而不是导入。因此,由于 ClassesTableSeeder class 不在定义的命名空间中,因此您不需要导入数据库 class。因此,您可以完全删除 use DB。
在播种机中 class 您不需要 use DB
在页面顶部声明。在 config>app.php
别名数组中写入的任何别名都不需要 use
语句。这是因为 seeder 没有任何命名空间。
在 laravel 迁移中您不需要调用数据库;
移除use DB;
使用以下内容代替 use DB
。
use DB as DBS;
之后就可以按如下方式使用了
DBS::table('foo')->insert([
'name'=>'bar',
]);
使用以下代替 use DB
use Illuminate\Support\Facades\DB;