📅  最后修改于: 2023-12-03 15:38:19.175000             🧑  作者: Mango
在 Laravel 中,播种机是一种用于生成和填充数据库表的工具。在大型应用程序中,可能需要运行多个播种机来填充不同的表。在本文中,我们将学习如何在 Laravel 中一次运行所有播种机。
首先,我们需要编写所有播种机。在 Laravel 中,播种机通常存储在 database/seeds
目录中。您可以使用以下 Artisan 命令来生成示例播种机:
php artisan make:seeder UsersTableSeeder
php artisan make:seeder ProductsTableSeeder
php artisan make:seeder OrdersTableSeeder
您可以根据需要生成任意数量的播种机。在每个播种机中,您需要实现 run
方法。例如,示例 UsersTableSeeder
播种机可能如下所示:
<?php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class UsersTableSeeder extends Seeder
{
public function run()
{
DB::table('users')->insert([
[
'name' => 'John Doe',
'email' => 'john@example.com',
'password' => bcrypt('password'),
],
[
'name' => 'Jane Doe',
'email' => 'jane@example.com',
'password' => bcrypt('password'),
],
]);
}
}
您可以在 run
方法中使用任何 Laravel 查询构建器方法来填充数据。
接下来,我们需要将所有播种机注册到 Laravel 中。在 database/seeds/DatabaseSeeder.php
文件中,您可以使用 call
方法来调用每个播种机。例如:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call(UsersTableSeeder::class);
$this->call(ProductsTableSeeder::class);
$this->call(OrdersTableSeeder::class);
}
}
现在,我们准备好运行所有播种机。您可以使用以下 Artisan 命令来运行 DatabaseSeeder
播种机:
php artisan db:seed
此命令将依次调用每个注册的播种机,并向相应的数据库表插入数据。
在 Laravel 中,您可以使用播种机来生成和填充数据库表。如果您需要一次运行多个播种机,请注册它们,并使用 db:seed
命令来运行 DatabaseSeeder
播种机。