📅  最后修改于: 2023-12-03 15:37:23.543000             🧑  作者: Mango
播种器(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 中运行播种器命令的介绍。播种器是一个非常实用的工具,可以方便地填充测试数据或初始化数据。在编写播种器时,需要注意填充的数据是否合法和唯一,以免造成数据混乱。