如何从工匠命令调用工厂 - Laravel

问题描述:

我想从自定义工匠命令调用工厂功能。但是,当我运行该命令时,它不会运行该工厂功能,也不会给出任何错误。如何从工匠命令调用工厂 - 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

不,它不是.. –

对不起,这是我的坏。我忘了截断桌子,但在我看来,我认为它在那里。

我们可以通过工匠指令调用工厂。这没有错。

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