1

我的 Laravel DB 项目中有一个处理动态菜单的递归表。出于测试目的,我想在该表中植入随机元素。

库的随机元素faker可以用于菜单名称。问题是如何生成与该菜单表的任何元素匹配的parent_id数字。我给你看一个例子:

+---------------------------+
| id  | name    | parent_id |
+---------------------------+
| 1   | animals | 0         |
|---------------------------|
| 2   | food    | 0         |
|---------------------------|
| 3   | dog     | 1         |
|---------------------------|
| 4   | potato  | 2         |
|---------------------------|
| 5   | monkey  | 1         |
+---------------------------+

随机数在这里不起作用,因为表的某些条目没有任何关联的父项。而且由于 id 是增量的,所以 id 会随时更改。parent_id 必须与某个 id 相关联。

我已经为第一级(parent_id = 0)创建了工厂。但我现在不知道如何继续。

$factory->defineAs(App\Section::class, 'firstLevelMenu', function($faker) {
   return [
       'name' => $faker->unique->randomElement([
           'animals',
           'food'
       ]),
       'parent_id' => '0'
   ];
});
4

0 回答 0