webentwicklung-frage-antwort-db.com.de

Laravel PHP Handwerker db: seed führt zu "use" Anweisungsfehler

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'
        ]);
    }
}
17
V4n1ll4

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.

43
user2479930

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.

1
polodev