web-dev-qa-db-fra.com

Laravel php artisan db: les semences conduisent à une erreur "use"

Lorsque j'essaie d'exécuter php artisan db:seed, l'erreur suivante apparaît:

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

J'ai écrit mon propre fichier de semoir que j'ai inclus ci-dessous, basé sur un extrait de du doc ​​ . Comme vous pouvez le constater, j'utilise le raccourci use DB - est-ce le problème?

<?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

Dans PHP, l'instruction use est davantage un alias qu'une importation. Ainsi, étant donné que la classe ClassesTableSeeder ne figure pas dans un espace de noms défini, vous n'avez pas besoin d'importer la classe DB. En conséquence, vous pouvez supprimer complètement use DB.

43
user2479930

En classe de classement Vous n'avez pas besoin de l'instruction use DB en haut de la page. Tout alias écrit dans le tableau config>app.php aliases ne nécessite pas d'instruction use. C'est parce que le semoir n'a pas d'espace de noms.

1
polodev