我对使用它们感到困惑,所以要确保我正确使用了它们,并了解是否还有其他用例。“这是我的用例:
1-单元测试
public function test_index_returns_view()
{
...
$streets = factory(Street::class, 10)->make();
...
}
2-当我在开发新应用时,请像这样运行播种机来填充数据库
php artisan migrate:fresh --seed
3-用于在生产中插入一些记录,将类似的内容放入迁移中
Artisan::call('db:seed', array('--class' => 'YourSeederClass'));
您概述的三种情况都是很好的用例。
本质上,您可以使用工厂来生成想要播种的任何数据。您还可以利用工厂状态和事件在多个模型之间生成复杂的关系。
从技术上讲,没有什么可以阻止您使用工厂来生成生产数据的,只是在任何正式的文档中都看不到。
我以前曾亲自使用它来在生产环境中填充新迁移的表的初始值(当然,事先要在我的本地环境中进行全面测试!)