【发布时间】:2019-11-19 00:39:44
【问题描述】:
我有一个categories 表,它有一个parent_id 属性,它应该指向一个父类别。顶级类别的parent_id 设置为null。
是否可以通过工厂为数据库播种,使一部分为父类别,而其他部分随机指向父类别?
工厂:
$factory->define(Category::class, function (Faker $faker) {
return [
'name' => $faker->name,
];
});
播种机(不工作):
factory(Category::class, 50)->create();
factory(Category::class, 450)->create(
['parent_id' => Category::all()->pluck('id')->random()]
);
这里的 Seeder 只选择一个随机元素,所有后续子类别都(例如)引用类别 ID 15。
我知道如何在不使用工厂的情况下通过播种机手动创建它,但如果可能的话,我想这样做吗?
【问题讨论】: