每当我需要为我的项目创建新的工厂和播种机时,无论是学习练习、业余爱好项目还是现实世界的应用程序(每次都做相同的操作感到无聊),我经常会回到 Laravel 文档。为了使这个过程变得简单,我决定创建一个指南,我可以在需要时参考,从而节省时间并避免需要搜索大量文档。如果本指南对其他人有帮助,那就太好了!
假设我们有一个用户/帖子关系,这意味着每个用户可以有一个或多个帖子,并且每个帖子都属于一个用户。
什么是工厂?
Laravel 中的工厂是一个为应用程序生成测试数据的类。这对于本地开发和暂存环境很有用,提供了很多好处。 Laravel 允许您为您拥有的每个模型创建一个工厂。
什么是播种者?
Laravel 中的 Seeders 用于使用种子类向数据库填充数据,这对于测试目的特别有用。
建造新工厂
要创建新工厂,请运行以下命令:
php artisan make:factory PostFactory
您将在database/factories目录下找到您的工厂类。这是定义工厂的示例:
公共函数定义():数组 { 返回 [ 'title' => $this->faker->句子, 'content' => $this->faker->段落, 'user_id' => 用户::工厂(), ]; }
登录后复制
生成播种机
要创建新的播种器,请运行以下命令:
php artisan make:seeder PostSeeder
您将在database/seeders目录下找到seeder类。这是此类中 run 函数的示例:
公共函数 run(): void { 帖子::工厂() ->计数(20) ->创建(); }
登录后复制
在同一目录中,您将找到DatabaseSeeder 类。确保它包含您所有的播种者:
公共函数 run(): void { // AppModelsUser::factory(10)->create(); // AppModelsUser::factory()->create([ // 'name' => '测试用户', // '电子邮件' => 'test@example.com', //]); $这个->调用([ PostSeeder::类, .., .. ]); }
登录后复制
运行迁移并播种数据库
首先,运行数据库迁移:
php 工匠迁移
然后,为数据库播种:
php artisan db:seed
现在您已经有了测试数据。享受吧!
最初发布在我的博客上!
以上就是创建 Laravel 工厂和播种机的快速指南的详细内容,更多请关注php中文网其它相关文章!