【发布时间】:2015-02-10 05:28:36
【问题描述】:
示例:我有 2 个模型:Book 和 Author。每本书只有一位作者。
Book id 是一个自动增量键。
所以我必须使用 2 个播种机:BookTableSeeder 和 AuthorTableSeeder。它们属于不同的类别:BookTableSeeder 和 AuthorTableSeeder。
所以我首先播种books,然后播种authors。
如果图书使用作者 ID,我如何为图书播种?
【问题讨论】:
-
将数据播种在一起,这将允许您使用 id 并将它们关联在一起。或者种子作者首先是他们的书。或者只是从逻辑上考虑,没有作者,一本书永远不会存在。
-
@MattBurrow 这只是一个例子。实际上,所有模型(几乎)都是相关的。这是否意味着所有种子都应该在一个文件中?
-
如果数据相关是。但是,如果您想在单独的类中播种,最好的方法是自己手动输入 ID。记住播种主要用于填充应用程序的虚拟数据或初始数据。
-
在你的书播种器中你可以有类似
$authors = Author::lists('id')的东西,现在你可以用$faker->randomElement($authors)或类似的东西在普通的php中播种author_id。如果您需要先播种书籍,可以将 $faker 部分替换为mt_rand(1,50)。
标签: php laravel database-migration seeding laravel-5