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