2024-07-09

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

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

每当我需要为我的项目创建新的工厂和播种机时,无论是学习练习、业余爱好项目还是现实世界的应用程序(每次都做相同的操作感到无聊),我经常会回到 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中文网其它相关文章!

https://www.php.cn/faq/866654.html

发表回复

Your email address will not be published. Required fields are marked *