【发布时间】:2015-11-29 10:35:04
【问题描述】:
我有一个users 表和一个与businesses 表的一对零/一关系(users.user_id => business.user_id)。在我的users 表上,我有一个鉴别器,它告诉我用户是否属于业务类型,因此我还需要在businesses 表上提供详细信息。
我想用我目前正在工作的工厂创建我的用户,然后只创建鉴别器指向企业帐户的业务详细信息。
我有三个选择:
- 从用户工厂创建,然后使用“->each()”对鉴别器进行一些检查,并使用工厂创建新的业务用户。但是,我无法将分配给用户的
user_id传递给业务工厂。 - 首先创建用户。然后在我的业务播种器中,检索与“业务”鉴别器匹配的所有用户。然后为所有这些用户运行一个创建业务细节的工厂。但同样,我必须以某种方式将已创建用户的
user_id与业务工厂user_id链接起来。 - 在我的业务工厂中,创建一个新用户并检索 id,从而在
users.user_id和business.user_id之间建立链接。但是,我正在为user.user_type使用随机生成器,所以即使我填写了businesses表,它也可能适用于将鉴别器设为“个人”的用户。
还有其他方法吗?我可以将 Seeder 中的参数传递给工厂吗?
【问题讨论】:
标签: laravel factory laravel-seeding