Laravel php artisan db:seed导致"使用"语句错误

V4n*_*ll4 22 php laravel laravel-5 artisan

当我尝试运行时,php artisan db:seed我收到以下错误:

The use statement with non-compound name 'DB' has no effect

我根据文档片段编写了我自己的播种文件,我在下面列出了该文件.正如您所看到的,我正在使用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'
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

use*_*930 50

在PHP中,use语句更多的是别名而不是import.因此,由于ClassesTableSeeder类不在定义的命名空间中,因此您无需导入DB类.因此,您可以完全删除使用DB.

  • 可能只是文档中的一个小故障.如果您没有使用命名空间,则当然不需要导入任何内容. (2认同)

小智 6

使用以下内容代替use DB

use Illuminate\Support\Facades\DB;
Run Code Online (Sandbox Code Playgroud)