2016-12-07 54 views
1

我想從自定義工匠命令調用工廠功能。但是,當我運行該命令時,它不會運行該工廠功能,也不會給出任何錯誤。如何從工匠命令調用工廠 - Laravel

這裏是定製工匠命令:

namespace App\Console\Commands; 

use Illuminate\Console\Command; 
use App\Tag; 

class CreateTags extends Command 
{ 
    protected $signature = 'blog:create-tags'; 

    protected $description = 'To generate new random tags for blogs'; 

    public function __construct() 
    { 
     parent::__construct(); 
    } 

    public function handle() 
    { 
     factory(Tag::class, 5)->create(); 
    } 
} 

數據庫/工廠/ Modelfactory.php:

$factory->define(App\Tag::class, function (Faker\Generator $faker) { 
    return [ 
     'name' => $faker->word, 
    ]; 
}); 

從CLI大火,命令:

php artisan blog:create-tags 

但是,如果我跑該工廠使用db:seed命令,其工作完美。像

工廠/種子/ TagsSeeder.php:

use Illuminate\Database\Seeder; 
use App\Tag; 
class TagsSeeder extends Seeder 
{ 
    public function run() 
    { 
     Tag::truncate(); 
     factory(Tag::class, 5)->create(); 
    } 
} 

讓我知道,如果需要更多的信息。

+0

它給出了什麼錯誤? –

+0

不,它不是.. –

回答

2

對不起,這是我的壞。我忘了截斷桌子,但在我看來,我認爲它在那裏。

我們可以通過工匠指令調用工廠。這沒有錯。

public function handle() 
    { 
     Tag::truncate(); 
     factory(Tag::class, 5)->create(); 
    }