Laravel 8 使用魔术方法
为了方便起见,您可以使用工厂的魔术关系方法来定义关系。 例如,以下示例将使用约定来确定应通过 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();