如何用Laravel工厂创建6个Job实例:3个software类型、3个QA类型
Laravel 按指定类型创建Job实例并关联标签
你可以通过分两次调用工厂的方式,精准创建指定类型的Job实例,同时保留原有的标签关联逻辑:
$tags = Tag::factory(3)->create(); // 创建3个类型为'software'的Job并关联标签 Job::factory(3)->create(['type' => 'software'])->each(function ($job) use ($tags) { $job->tags()->attach($tags->random(3)); }); // 创建3个类型为'QA'的Job并关联标签 Job::factory(3)->create(['type' => 'QA'])->each(function ($job) use ($tags) { $job->tags()->attach($tags->random(3)); });
说明
- 调用
create()方法时传入数组参数,直接为Job实例指定type属性值 - 分两次创建保证了数量与类型的精准匹配,同时复用原有标签关联逻辑,确保每个Job都能关联随机3个标签
内容的提问来源于stack exchange,提问作者Ahamed Rasni Nathees
相关产品推荐
相关产品推荐

