Laravel php artisan db: семя приводит к ошибке использования "use"

Когда я пытаюсь запустить 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'
        ]);
    }
}

Ответы

Ответ 1

В PHP оператор use является скорее псевдонимом, чем импортом. Так как класс ClassesTableSeeder не находится в определенном пространстве имен, вам не нужно импортировать класс DB. В результате вы можете полностью удалить БД.

Ответ 2

В классе сеялки Вам не нужно use DB инструкцию use DB поверх страницы. Любой псевдоним, написанный внутри config>app.php aliases array, не требует use инструкции. Это связано с тем, что сеялка не имеет пространства имен.