【问题标题】:How to insert data via seeding Laravel 5.7 into two relation tables?如何通过播种 Laravel 5.7 将数据插入两个关系表?
【发布时间】:2019-07-13 09:08:36
【问题描述】:

当我想在终端中执行命令 php artisan db:seed 时,我从种子文件 (PostSeed) 将完全相同的行数插入到表一个表 (Posts 表)。例如,3 行。

另外,我定义了 6 行以从种子文件 (ClientSeed) 向另一个表 (Client 表) 插入 6 行。

调用的问题是,在我执行命令 php artisan db:seed 后,我在表 Clients 中有 9 行。 Posts 表很好,但 Client 表有些如何添加 3 行。

这是我的代码链接https://github.com/mihnikola/laravel.git

【问题讨论】:

    标签: laravel laravel-5.7


    【解决方案1】:

    这是因为您的PostFactory 也在创建一个新的Client

    'client_id' => function () {
        return factory(App\Client::class)->create()->id; // <- This will create a new client
    }
    

    因此将创建 3 个帖子与 3 个客户。

    6 + 3 = 9

    【讨论】:

    • 我认为没有理由在您播种后删除额外的客户端,因为您正在播种虚假数据。但是,您可能还有其他想法。您只有 6 个客户的原因是什么?
    • 感谢 Thomas Van der Veen。
    • 我想拥有 6 个客户和 10 个帖子。但我不知道该怎么做。
    • 我找到了办法。我将某些内容更改为 PostFactory。
    猜你喜欢
    • 2018-09-14
    • 2019-05-25
    • 2016-06-30
    • 2019-02-14
    • 1970-01-01
    • 2020-10-04
    • 2014-09-30
    • 1970-01-01
    • 2016-05-28
    相关资源
    最近更新 更多