簡體   English   中英

Laravel DB Seeder無法在控制台中播種

[英]Laravel DB Seeder won't seed in console

嗨,我有以下嘗試播種的播種班。 當我運行php artisan db:seed命令時,唯一的種子是幾周前創建的我以前的seeder類。 我不知道我在想什么。 我也插入了SoftDeletes和Protected填充。

這是我的播種班:

    public function run()
{
    DB::table('leave_type')->insert([
      [
        'leaveType' => 'Vacation Leave'
      ],
      [
        'leaveType' => 'Sick Leave'
      ],
      [
        'leaveType' => 'Afternoon Off'
      ],
      [
        'leaveType' => 'Special Leave'
      ],
      [
        'leaveType' => 'Study Leave'
      ],
    ]);
}

我的模特:

    namespace App;

    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Database\Eloquent\SoftDeletes;

    class LeaveType extends Model
     {
       protected $fillable = ['leaveType'];
       protected $table ="leave_type";
       use SoftDeletes;
       public $timestamps = true;
    }

將我的評論轉換為答案;

  1. 通過運行以下命令,確保laravel知道您所生成的新數據庫種子級:

作曲家轉儲自動

  1. 確保您的種子類已在{PROJECT}/database/seeds/DatabaseSeeder.php注冊,如下所示:

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

然后,您可以刷新數據庫(回滾所有遷移,重新運行遷移),然后使用以下命令一次性運行種子:

PHP的工匠遷移:刷新-種子

或僅像這樣運行特定的播種器:

PHP的工匠db:seed --class = YourNewSeeder

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM