Laravel php artisan db:seed导致“use”语句错误[重复]

ohfgkhjo  于 5个月前  发布在  PHP
关注(0)|答案(5)|浏览(64)

此问题在此处已有答案

The use statement with non-compound name(1个答案)
8天前关闭
当我尝试运行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'
        ]);
    }
}

字符串

xfb7svmp

xfb7svmp1#

在PHP中,use语句更像是一个别名,而不是import。因此,由于ClassesTableSeeder类不在定义的命名空间中,因此您不需要导入DB类。因此,您可以完全删除use DB

kr98yfug

kr98yfug2#

使用以下代码代替use DB

use Illuminate\Support\Facades\DB;

字符串

yqyhoc1h

yqyhoc1h3#

在seeder类中你不需要在页面顶部添加use DB语句。任何写在config>app.php aliases数组中的别名都不需要use语句。这是因为seeder没有任何命名空间。

lpwwtiir

lpwwtiir4#

在laravel迁移中,你不需要调用数据库;
删除use DB;

8ftvxx2r

8ftvxx2r5#

使用以下代码代替use DB

use DB as DBS;

字符串
之后,您可以按如下方式使用它。

DBS::table('foo')->insert([
            'name'=>'bar',
        ]);

相关问题