阅读(3934) (10)

Laravel 8 使用魔术方法

2021-07-08 16:55:48 更新

为了方便起见,您可以使用工厂的魔术关系方法来定义关系。 例如,以下示例将使用约定来确定应通过 User 模型上的 posts 关系方法创建相关模型:

    $users = User::factory()
                ->hasPosts(3)
                ->create(); 

在使用魔术方法创建工厂关系时,您可以传递要在相关模型上覆盖的属性数组:

    $users = User::factory()
                ->hasPosts(3, [
                    'published' => false,
                ])
                ->create(); 

如果状态更改需要访问父模型,则可以提供基于闭包的状态转换:

    $users = User::factory()
                ->hasPosts(3, function (array $attributes, User $user) {
                    return ['user_type' => $user->type];
                })
                ->create();