Ответ 1
В PHP оператор use является скорее псевдонимом, чем импортом. Так как класс ClassesTableSeeder не находится в определенном пространстве имен, вам не нужно импортировать класс DB. В результате вы можете полностью удалить БД.
Когда я пытаюсь запустить 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'
]);
}
}
В PHP оператор use является скорее псевдонимом, чем импортом. Так как класс ClassesTableSeeder не находится в определенном пространстве имен, вам не нужно импортировать класс DB. В результате вы можете полностью удалить БД.
В классе сеялки Вам не нужно use DB
инструкцию use DB
поверх страницы. Любой псевдоним, написанный внутри config>app.php
aliases array, не требует use
инструкции. Это связано с тем, что сеялка не имеет пространства имен.