Laravel 数据库:填充

  1. 编写 Seeders
  2. 调用其它 Seeders
  3. 填充数据库

编写 Seeders

运行 Artisan 命令 make:seeder 生成 Seeder,框架生成的 seeders 都放在 database/seeds 目录下:

php artisan make:seeder UserSeeder
public function run()
{
    DB::table('users')->insert([
        'name' => Str::random(10),
        'email' => Str::random(10).'@gmail.com',
        'password' => Hash::make('password'),
    ]);
}

调用其它 Seeders

在 DatabaseSeeder 类中,你可以使用 call 方法来运行其它的 seed 类。使用 call 方法可以将数据填充拆分成多个文件,这样就不会使单个 seeder 变得非常大。只需简单传递要运行的 seeder 类名称即可:

/**
 * Run the database seeds.
 *
 * @return void
 */
public function run()
{
    $this->call([
        UserSeeder::class,
        PostSeeder::class,
        CommentSeeder::class,
    ]);
}

填充数据库

现在你可以使用 Artisan 命令 db:seed 来填充数据库了。默认情况下, db:seed 命令将运行 DatabaseSeeder 类,这个类可以用来调用其它 Seed 类。不过,你也可以使用 –class 选项来指定一个特定的 seeder 类:

php artisan db:seed

php artisan db:seed --class=UserSeeder

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 lzdong@foxmail.com

×

喜欢就点赞,疼爱就打赏