📜  laravel 运行播种器 - PHP (1)

📅  最后修改于: 2023-12-03 15:02:38.554000             🧑  作者: Mango

Laravel 运行播种器 - PHP

在 Laravel 框架中,播种器(Seeder)程序用于向数据库中填充测试数据或示例数据。这些数据可以用于开发、测试或教学目的。在本文中,我们将介绍如何在 Laravel 中运行播种器,并向数据库中添加示例数据。

创建一个播种器

我们可以使用 Artisan 命令行工具来创建一个播种器。在终端中输入以下命令:

php artisan make:seeder UsersTableSeeder

这将在 database/seeds 目录下创建一个名为 UsersTableSeeder.php 的播种器文件。打开文件,我们可以看到这个播种器类已经被创建了:

<?php

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class UsersTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //
    }
}
编写播种器代码

在上面的 run 方法中,我们将编写生成示例数据的代码。例如,我们可以通过以下代码将 10 个用户添加到数据库中:

public function run()
{
    DB::table('users')->insert([
        [
            'name' => 'John Doe',
            'email' => 'john@example.com',
            'password' => bcrypt('secret'),
        ],
        [
            'name' => 'Jane Doe',
            'email' => 'jane@example.com',
            'password' => bcrypt('secret'),
        ],
        // 以下省略
    ]);
}

我们可以根据自己的需求和数据结构编写自己的生成代码。

运行播种器

database/seeds/DatabaseSeeder.php 文件中,我们可以定义要运行的所有播种器。例如,我们要运行 UsersTableSeeder 播种器,可以像这样指定:

public function run()
{
    $this->call(UsersTableSeeder::class);
}

然后我们可以使用以下命令来运行播种器:

php artisan db:seed

此命令将运行 DatabaseSeeder 类中的所有播种器,以填充数据库中的数据。

结论

在 Laravel 中使用播种器可以帮助我们方便地生成示例数据,并在开发、测试和教学中有很大帮助。在本文中,我们介绍了如何创建和运行一个简单的播种器,希望对你有所帮助。