【问题标题】:Php artisan db:seed is not working laravel 5.1.11Php artisan db:seed 不工作 laravel 5.1.11
【发布时间】:2016-02-07 08:33:35
【问题描述】:

我是 Laravel 新手,我正在使用 laravel 5.1.11。运行 php artisan db:seed 时出现以下异常错误 [Symfon\Component\Debug\Exception\FatalErrorException] 类语言未找到

我尝试运行 composer dump-autload 和 php artisan optimize 没有成功

这是我的 LanguageTableSeeder 代码

<?php

use Illuminate\Database\Seeder;

class LanguageTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //
         Language::create( [
            'parent_id' => 'Electronincs' ,
            'language_name' => 'English' ,
            'code' => 'en' ,
            'labizale' => 'en_US.UTF-8,en_US,en-gb,english' ,
            'image' => 'gb.png' ,
            'directory' => 'image location url' ,
            'sort_order' => '1' ,

        ] );
    }
}

//Language model code

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Language extends Model
{
    //
    protected $fillable = ['language_name','code','labizale', 'image','directory','sot_order'];
}


//DatabaseSeeder.php

<?php
use app\Category;
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Model::unguard();


        $this->call(LanguageTableSeeder::class);

        Model::reguard();
    }
}

我哪里弄错了,请帮忙

【问题讨论】:

  • 我认为您需要默认使用 App\Artlang,所有内容都在 L5 的 App 命名空间中。试试看。

标签: laravel


【解决方案1】:

Laravel 5 使用 namespaces。您正在尝试使用 Language 模型做种子,但您的种子文件不知道它应该为此使用什么 Language 类。

您应该在迁移中导入 Language 类,方法是在顶部使用它:

use App\Language;

像这样:

use Illuminate\Database\Seeder;
use App\Language;

class LanguageTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //
         Language::create( [
            'parent_id' => 'Electronincs' ,
            'language_name' => 'English' ,
            'code' => 'en' ,
            'labizale' => 'en_US.UTF-8,en_US,en-gb,english' ,
            'image' => 'gb.png' ,
            'directory' => 'image location url' ,
            'sort_order' => '1' ,

        ] );
    }
}

【讨论】:

  • 没问题 :) 你能接受这个答案以便其他人看到这个问题得到了回答吗?