创建 Laravel 工厂和播种机的快速指南

王林
发布: 2024-07-16 20:33:12
原创
247 人浏览过

A Quick Guide to Creating Laravel Factories and Seeders

每当我需要为我的项目创建新的工厂和播种机时,无论它们是学习练习、业余爱好项目还是实际应用程序,我经常会回到 Laravel 文档(每次都做同样的动作感到无聊)。为了使这个过程变得简单,我决定创建一个指南,我可以在需要时参考,从而节省时间并避免需要搜索大量文档。如果本指南对其他人有帮助,那就太好了!

假设我们有一个用户/帖子关系,这意味着每个用户可以有一个或多个帖子,并且每个帖子都属于一个用户。
什么是工厂?

Laravel 中的工厂是一个为应用程序生成测试数据的类。这对于本地开发和暂存环境很有用,提供了很多好处。 Laravel 允许您为您拥有的每个模型创建一个工厂。
什么是播种者?

Laravel 中的 Seeders 用于使用种子类向数据库填充数据,这对于测试目的特别有用。
建造新工厂

要创建新工厂,请运行以下命令:

php artisan make:factory PostFactory

您将在database/factories目录下找到您的工厂类。这是定义工厂的示例:

public function definition(): array
{
    return [
        'title' => $this->faker->sentence,
        'content' => $this->faker->paragraph,
        'user_id' => User::factory(),
    ];
}
登录后复制

生成播种机

要创建新的播种器,请运行以下命令:

php artisan make:seeder PostSeeder

您将在database/seeders目录下找到seeder类。以下是此类中 run 函数的示例:

public function run(): void
{
    Post::factory()
        ->count(20)
        ->create();
}
登录后复制

在同一目录中,您将找到 DatabaseSeeder 类。确保它包含您所有的播种者:

public function run(): void
{
    // \App\Models\User::factory(10)->create();

    // \App\Models\User::factory()->create([
    //     'name' => 'Test User',
    //     'email' => 'test@example.com',
    // ]);

    $this->call([
        PostSeeder::class,
        ..,
        ..
    ]);
}
登录后复制

运行迁移并为数据库播种

首先,运行数据库迁移:

php artisan 迁移

然后,为数据库播种:

php artisan db:seed

现在您已经有了测试数据。享受吧!

最初发布在我的博客上!

以上是创建 Laravel 工厂和播种机的快速指南的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!