数据填充

2018-02-24 15:53 更新

Laravel 可以简单的使用 seed 类,填充测试数据到数据库。所有的 seed 类放在 database/seeds 目录下。可以使用任何你想要的类名称,但是应该遵守某些大小写规范,如 UserTableSeeder 之类。默认已经有一个 DatabaseSeeder 类。在这个类里,使用 call 方法执行其他的 seed 类,让你控制填充的顺序。

Seed 类例子

class DatabaseSeeder extends Seeder {
    public function run()
    {
        $this->call('UserTableSeeder');

        $this->command->info('User table seeded!');
    }
}

class UserTableSeeder extends Seeder {
    public function run()
    {
        DB::table('users')->delete();

        User::create(['email' => 'foo@bar.com']);
    }
}

要执行数据填充,可以使用 Artisan CLI 的 db:seed 命令:

php artisan db:seed

默认 db:seed 命令会执行 DatabaseSeeder,可以使用它来调用其他 seed 类,不过,也可以使用 --class 参数指定要单独执行的类:

php artisan db:seed --class=UserTableSeeder

你也可以使用 migrate:refresh 命令填充数据,它会回滚并且再次执行所有迁移:

php artisan migrate:refresh --seed
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号