【问题标题】:Nested database seeding for Laravel 8Laravel 8 的嵌套数据库播种
【发布时间】:2021-04-01 14:13:41
【问题描述】:

Laravel 8 在数据库种子方面有一些变化。我想用数据库播种器播种一些相关模型。 共有三种型号:User, Post, Comment。 一个用户有很多帖子,一个帖子有很多 cmets。 现在我想创建一些用户,其中包含一些相关的帖子和​​一些与帖子相关的 cmets。 我只能播种一些用户和相关帖子,但不能播种与帖子相关的 cmets。 我有以下代码:

User::factory(10)->hasPosts(rand(5, 10))->create();

它为每个用户创建了 10 个用户和 5 到 10 个相关帖子。我可以做些什么来播种 cmets?我可以在单行中完成还是需要换行? 注意:我已经为每个模型创建了工厂。

【问题讨论】:

  • This 可以帮到你
  • @boolfalse 事情在 Laravel 8 中被大大简化了

标签: laravel eloquent


【解决方案1】:

你可以试试

User::factory(10)->has(
    Post::factory(random_int(5,10))
        ->has(Comment::factory(random_int(2,3)))
)->create();

【讨论】:

    猜你喜欢
    • 2015-09-25
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 2018-05-26
    • 2018-05-20
    • 2016-02-10
    • 2019-01-03
    相关资源
    最近更新 更多