我有一个users
表和一对零/一的关系businesses
表(users.user_id =>businesss.user_id)。在我的users
表我有一个鉴别器,它告诉我用户是否属于商务类型,因此我需要了解有关的详细信息businesses
表也是如此。
我想使用当前正在运行的工厂创建用户,然后仅在鉴别器指向企业帐户的情况下创建业务详细信息。
我心里有三个选择:
- 从用户工厂创建,然后使用“->each()”对鉴别器进行一些检查,并使用工厂创建一个新的业务用户。但是我无法将
user_id
该用户已被分配。
- 首先创建用户。然后在我的业务播种器中,检索与“业务”鉴别器匹配的所有用户。然后,为所有这些用户运行一个创建业务详细信息的工厂。但同样,我必须以某种方式链接
user_id
已通过业务工厂创建用户的user_id
.
- 在我的业务工厂中,创建一个新用户并检索 id,从而在之间建立链接
users.user_id
and business.user_id
。不过我正在使用随机生成器user.user_type
所以即使我有businesses
填充的表可能适用于将鉴别器设置为“个人”的用户。
还有别的办法吗?我可以将参数从 Seeder 传递到工厂吗?
您传递给的属性create
函数将作为第二个参数传递到模型定义回调中。
在您的情况下,您甚至不需要访问这些属性,因为它们会自动合并到:
$business = factory(App\Business::class)->create();
factory(App\User::class, 5)->create([
'business_id' => $business->id,
]);
根据您的需求进行调整。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)