我正在使用Laravel 9和Eloquent建模和播种以下模型:
- 组织(1-n)
- 组织_用户(透视)
- 用户(1-n)
为了播种该模型,我遵循了文档并使用了has()
和recycle()
方法。
database/seeders/DatabaseSeeder.php
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// Organisations et users
$organizations = Organization::factory()
->count(10)
->create();
$users = User::factory()
->recycle($organizations)
->has(Organization::factory()->recycle($organizations)->count(1))
->count(10)
->create();
}
当我使用->has(Organization::factory()->count(1))
运行迁移时,我在数据库中获得了20个组织,而不是10个。
似乎没有为关系回收组织,而是为每个关系创建了一个新组织。
我做错了什么?在植入用户和组织后,我是否可以在单独的呼叫中植入关系?
1条答案
按热度按时间njthzxwz1#
您可以在
UserFactory
上使用afterCreating
,手动创建随机关系。数据库种子
用户工厂
每个用户将随机拥有3个之前已创建的组织。