【发布时间】:2016-12-08 12:47:37
【问题描述】:
我想从自定义工匠命令中调用工厂函数。但是当我运行那个命令时,它并没有运行那个工厂函数,也没有给出任何错误。
这是自定义工匠命令:
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();
}
}
如果需要更多信息,请告诉我。
【问题讨论】:
-
有什么错误吗?
-
不,不是……
标签: laravel