如何解决在Laravel 8中为单个实例播种多个多对多关系的正确方法是什么?
我正在尝试创建一个模型实例,该实例已经通过此操作定义了一个以上的多对多关系:
$meal = Meal::factory()
->hasAttached(Ingredient::factory(),['gram' => 100])
->hasAttached(Ingredient::factory(),['gram' => 200])
->create();
最后我在Meal
表中输入了一个条目,在Ingredient
表中输入了两个条目-很好。但是,我希望在数据透视表中也有两个条目(1x,'gram' = 100
和1x,'gram' = 200
)。但是,我最终得到了3条条目。
我想知道第二个条目来自哪里。
+----+---------------+---------+------+
| id | ingredient_id | meal_id | gram |
+----+---------------+---------+------+
| 1 | 1 | 1 | 100 |
| 2 | 1 | 1 | 200 |
| 3 | 2 | 1 | 200 |
+----+---------------+---------+------+
建立这种关系的最佳方法是什么(最好是在使用新工厂方法的一次调用中)?将播种分为多个步骤是否更有意义,例如首先创建一个模型,然后附加关系?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。