2017-03-29 43 views
2

工作,我必須在數據庫文件夾呼叫PHP工匠DB:種子並沒有提供一個類名

class UsersTableSeeder extends Seeder 
{ 
    public function run() 
    { 
     $user = new User(); 
     $user->name   = 'Name'; 
     $user->email  = '[email protected]'; 
     $user->password  = bcrypt('secret'); 
     $user->save(); 

    } 
} 

播種機類當我運行php artisan db:seed沒有任何反應,播種機只調用當我運行php artisan db:seed --class=UsersTableSeeder

這意味着我必須分別調用每個播種類,任何想法爲什麼db:seed不能自行工作?

回答

3

看看database/seeds/DatabaseSeeder.php

您需要調用在那裏添加到您的其他播種機。

db:seed然後將用作預期

實施例:

<?php 

use Illuminate\Database\Seeder; 

class DatabaseSeeder extends Seeder 
{ 
    /** 
    * Run the database seeds. 
    * 
    * @return void 
    */ 
    public function run() 
    { 
     $this->call(UsersTableSeeder::class); 
     $this->call(SecondSeedClass::class); 
     $this->call(ThirdSeedClass::class); 

    } 
} 
1

你需要將它添加到DatabaseSeeder類:

public function run() 
{ 
    $this->call(UsersTableSeeder::class); 
} 
2

你必須註冊在種子文件夾中DatabaseSeeder類種子類。 所有在運行方法的類將是在PHP artisab分貝種子:種子命令

class DatabaseSeeder extends Seeder { 

    /** 
    * Run the database seeds. 
    * 
    * @return void 
    */ 
    public function run() { 
     $this->call(UsersTableSeeder::class); 
     $this->call(AnotherSeeder::class); 

    } 

}