Laravel实现数据库迁移与支持中文的填充(2)

<?php use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { // 调用学生表填充文件 $this->call(StudentsTableSeeder::class); } }

创建 模型工厂 填充

php artisan make:factory StudentsFactory -m Student

此命令会在database/factories/目录下生成StudentsFactory.php文件,我们定义一下要填充的数据格式

<?php use Faker\Generator as Faker; /* @var Illuminate\Database\Eloquent\Factory $factory */ $factory->define(App\Student::class, function (Faker $faker) { $sex = rand(1, 1000); return [ 'name' => $faker->name, 'sex' => $sex % 2 == 0 ? '男' : '女', 'email' => $faker->unique()->safeEmail, 'favorite_color' => $faker->safeColorName, 'phone' => $faker->phoneNumber, 'addr' => $faker->address, ]; });

更多配置请查阅 vendor/fzaninotto/faker/src/Faker/Generator.php文件

让faker填充中文

public function boot() { // 填充中文数据 $this->app->singleton(\Faker\Generator::class, function () { return \Faker\Factory::create('zh_CN'); }); }

开始填充

首先我们执行一下:

composer dump-autoload

自动加载一下我们在database/seeds/目录创建的填充文件,以避免出现以下错误:

[ReflectionException] Class StudentsTableSeeder does not exist

接着我们运行填充命令:

php artisan db:seed

由于我们填充的是一万条数据,可以时间稍长,可以刷新数据库看着逐条增加的数据。

大功告成

如果以上操作都没有报错的话,来看一下我们的数据库表students表是否有数据了呢?

id name sex email favorite_color phone addr created_at updated_at
10000   谈英     cum_et@example.com   白色   17642207316   贵阳海陵区   2017-10-28 05:19:10   2017-10-28 05:19:10  
9999   汤淑珍     qlaudantium@example.net   黑色   18239453935   南宁友好区   2017-10-28 05:19:10   2017-10-28 05:19:10  
9998   贾春梅     ea35@example.com   粟色   17103645128   长沙萧山区   2017-10-28 05:19:10   2017-10-28 05:19:10  
9997   季志明     cdeleniti@example.com   灰色   17002359608   天津花溪区   2017-10-28 05:19:10   2017-10-28 05:19:10  
9996   成燕     aspernatur.aut@example.com   黄色   17181193397   贵阳锡山区 2017-10-28 05:19:   10   2017-10-28 05:19:10  
9995   米博     reprehenderit_autem@example.com     17187328893   广州东丽区   2017-10-28 05:19:10   2017-10-28 05:19:10  
9994   兰淑兰     et_ea@example.com   绿色   18592254358   兰州经济开发新区   2017-10-28 05:19:10   2017-10-28 05:19:10  
9993   乐瑶     vel.vitae@example.org   藏青   15891490007   香港龙潭区 2017-10-28 05:19:   10   2017-10-28 05:19:10  
9992   叶志新     lcumque@example.net   藏青   15564391466   北京高明区   2017-10-28 05:19:10   2017-10-28 05:19:10  
9991   胥杨     voluptatem00@example.com   黄色   17097722096   郑州新城区   2017-10-28 05:19:10   2017-10-28 05:19:10  
9990   凌敏     magni22@example.org   鲜绿色   13021578051   杭州涪城区   2017-10-28 05:19:10   2017-10-28 05:19:10  
9989   席建     fugiat_accusantium@example.net     18070573726   南昌海陵区   2017-10-28 05:19:10   2017-10-28 05:19:10  
9988   聂新华     debitis_sapiente@example.com   水色   17004061646   成都南长区   2017-10-28 05:19:10   2017-10-28 05:19:10  

……

总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b56790597caa2ec87064a4dc41d5dcd4.html