📜  在 laravel 中运行播种器命令 - PHP (1)

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

在 Laravel 中运行播种器命令

播种器(Seeder)是 Laravel 中的一种数据填充工具,可以方便地填充测试数据或初始化数据。本文将介绍在 Laravel 中运行播种器命令的方法。

创建播种器

首先,需要创建一个播种器。可以使用 Artisan 工具创建一个播种器:

php artisan make:seeder UsersTableSeeder

这将会在 database/seeds 目录下创建一个 UsersTableSeeder.php 文件,其中包含 run 方法。在这个方法中,可以添加需要填充的数据。

编写播种器内容

run 方法中添加需要填充的数据,例如:

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')]
    ]);
}
运行播种器命令

使用 Artisan 工具运行播种器命令:

php artisan db:seed --class=UsersTableSeeder

这将会运行 UsersTableSeeder 播种器填充数据到 users 数据表中。

同时,可以使用命令来运行多个播种器,例如:

php artisan db:seed --class=UsersTableSeeder --class=ProductsTableSeeder
随机生成数据

在播种器中随机生成数据,可以使用 Faker 库,例如:

use Faker\Factory as Faker;

public function run()
{
    $faker = Faker::create();

    foreach (range(1, 10) as $index) {
        DB::table('users')->insert([
            'name' => $faker->name,
            'email' => $faker->unique()->safeEmail,
            'password' => bcrypt('secret')
        ]);
    }
}
填充数据到指定环境

默认情况下,播种器会填充数据到 local 环境,可以通过设置 --env 参数来填充到指定环境,例如:

php artisan db:seed --class=UsersTableSeeder --env=production
总结

以上就是在 Laravel 中运行播种器命令的介绍。播种器是一个非常实用的工具,可以方便地填充测试数据或初始化数据。在编写播种器时,需要注意填充的数据是否合法和唯一,以免造成数据混乱。