Я загружаю некоторые поддельные данные в laravel. У меня есть таблица
Schema::create('categories', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('parent_id')->default(0);
$table->string('name');
$table->integer('depth');
$table->timestamps();
});
parent_id должен содержать данные category.id
Мне интересно, это лучший способ сделать это?
CategoriesTableSeeder
factory(App\Category::class, 10)->make()->each(
function ($c) {
$c->fill(
[
'parent_id' => App\Category::count() ? App\Category::pluck('id')->random() : 0
]
)->save();
}
);
CategoryFactory
$factory->define(Category::class, function (Faker $faker) {
return [
//'parent_id' => Category::pluck('id')->random(),
'name' => ucfirst($faker->word),
'depth' => 0,
];
});
Может быть, кто-то может написать лучшее решение для того же результата?Я много пробовал, этот работает, но я думаю, что код должен выглядеть более профессионально, чем сейчас.