数据库填充器( laravel自带)

//编写填充器,cmd进入到项目根目录
php artisan make:seeder UsersTableSeeder//所有框架生成的填充器都位于 database/seeds
//填充器类默认只包含一个方法:run。当 Artisan 命令 db:seed 运行时该方法被调用。

//测试添加单条
<?php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class DatabaseSeeder extends Seeder
{
    /**
     * 运行数据库填充
     *
     * @return void
     */
    public function run()
    {
        DB::table('users')->insert([
            'name' => str_random(10),
            'email' => str_random(10).'@gmail.com',
            'password' => bcrypt('secret'),
        ]);
    }
}
//或者在UsersTableSeeder测试添加使用模型工厂 
    public function run()
    {
        $users = factory(\App\Models\Users::class,50000)->make();//在app的Models中创建Users模型
        \App\Models\Users::insert( $users->toArray() );
    }
    //在 DatabaseSeeder 类中调用
    public function run()
    {
        $this->call([
             UsersTableSeeder::class,
        ]);
    }
}
//编写好填充器类之后,需要通过 dump-autoload 命令重新生成 Composer 的自动加载器:
composer dump-autoload
//就可以使用 Artisan 命令 db:seed 来填充数据库。
php artisan db:seed

相关推荐