如何根据以前的种子播种工厂

时间:2019-03-28 20:17:26

标签: php laravel laravel-seeding

我有下表。

角色

id | name

1    role1

2    role2

3    role3

用户

id | name |  email | password

餐厅

id | user_id | name  | description

评论

id | restaurant_id | user_id | rating | comment

回复

id | review_id | user_id | comment

主要注意事项*

  

1)在餐厅表中,仅必须存储具有以下内容的user_id   role_id为2

     

2)在评论表中,仅必须存储具有以下内容的user_id   role_id 1

     

3)在回复表中,仅必须存储具有以下内容的user_id   role_id 1或2。

写工厂种子最好的方法是什么?以下方法是否正确?但这不起作用,并告诉我 user_id没有默认值。我该如何做到这一点?

factory(App\Http\Models\User::class, 3)->create(['role_id'=>1]);

        factory(App\Http\Models\User::class,3)->create(['role_id'=>2])->each(function ($user) {
            $user->restaurants()->saveMany(
                factory(App\Http\Models\Restaurant::class,5)->create()->each(function ($restaurant) {
                    $restaurant->reviews()->saveMany(factory(App\Http\Models\Review::class, 5)->create(['user_id', $user->id]));
                })
            );

        });

0 个答案:

没有答案