gpt4 book ai didi

laravel - 播种具有多个关系的表?

转载 作者:行者123 更新时间:2023-12-04 15:28:10 25 4
gpt4 key购买 nike

我有一个 belongsTo comments 表,它是 user 表和 article 表。

如何对表进行播种以使userarticle 外键都完整?

查看各种示例后,我发现您可以为用户播种,然后附加/保存其他模型...

factory(User::class, 100)->create()->each(function ($user) {

$articles = factory(Article::class, 5)->make();
$user->article()->saveMany($articles);

但是如何对带有两个外键的评论做同样的事情呢?

最佳答案

未经测试,但它应该可以工作,或者至少给你一个想法。

在评论的情况下,你可以创建一个像这样的工厂,你将在其中分配外键随机用户和文章:

$factory->define(Comment::class, function (Generator $faker) {
return [
'content' => $faker->paragraph,
'user_id' => User::inRandomOrder()->select('id')->first()->id,
'article_id' => Article::inRandomOrder()->select('id')->first()->id
];
});

请注意,用户和文章记录都必须存在,您才能将它们的 ID 分配给外键。所以要在播种机中使用工厂,您将在插入用户和文章后调用它:

// do the inserts of users and articles, I left this as you show it in the question
factory(User::class, 100)->create()->each(function ($user) {
$articles = factory(Article::class, 5)->make();
$user->article()->saveMany($articles);
});

factory(Comment::class, 50)->create();

关于laravel - 播种具有多个关系的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61838677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com