Wenn ich versuche, php artisan db:seed
auszuführen, erhalte ich die folgende Fehlermeldung:
The use statement with non-compound name 'DB' has no effect
Ich habe meine eigene Seeder-Datei geschrieben, die ich unten auf der Grundlage eines snippet aus dem doc eingefügt habe. Wie Sie sehen, verwende ich die use DB
-Verknüpfung. Ist dies das Problem?
<?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'
]);
}
}
In PHP ist die Anweisung use eher ein alias als ein Import. Da sich die Klasse ClassesTableSeeder nicht in einem definierten Namespace befindet, müssen Sie die DB-Klasse nicht importieren. Als Ergebnis können Sie use DB vollständig entfernen.
In der Klasse Seeder brauchen Sie keine use DB
-Anweisung oben auf der Seite. Für Aliasnamen, die in ein config>app.php
-Alias-Array geschrieben werden, ist keine use
-Anweisung erforderlich. Dies liegt daran, dass der Seeder keinen Namespace hat.