laravel使用Faker数据填充的实现方法
导言:
在进行开发时,有必要添加测试数据。laravel内置了方便的数据填充。这里有一个例子。
注意:faker build已经内置在laravel5框架中,所以不需要安装
数据迁移
建立数据模型和数据迁移PHP artisan制作:模型模型/faker user-m;
只创建几个简单的字段并编辑文件数据库/迁移/{ now _ date } _ create _ faker _ users _ table.php。
/** *运行迁移。* * @ return void */public function up(){ schema : create(' faker _ users '),function(蓝图$ table){ $ table-increments(' id ');$table-char('name ',20)-comment(' name ');$ table-string ('email ',50)-comment(' mailbox ');$ table-微小整数(' age ')-注释(' age ');$table-char('city ',20)-comment(' city ');$ table-时间戳();});db : statement(' alter table ` faker _ users ` comment ' test user table ' ');//Table注意}运行数据迁移php artisan migrate后,创建数据表。
数据填充
创建一个数据填充文件PHP artisan make :播种机fakerusersseeder创建之后,我们可以在run()方法中手动添加几条测试数据。但是一个好的方法是使用模型工厂,然后将注意力转向模型工厂;创建模型工厂PHP工匠制作:工厂faker用户工厂;在模型工厂中,可以通过Faker\Generator生成测试数据,编辑数据库/工厂/fakerusersfactory.php?phpuse Faker \ Generator as Faker$ factory-define(\ App \ Models \ Faker user : class,function(Faker $ Faker){ return[' name '=$ Faker-name,' email'=$faker-safeEmail,Age'=$ faker-number介于(8,80)之间,//numbers介于8和80之间随机' city'=$ faker-city,' created _ at'=$ faker-datetime介于('-3年','-1年'),//时间介于三年和一年之间'更新});Faker\Generator的功能可以直接从上面的代码看到。它可以生成许多数据类型。更多类型见官方文件。虽然是英文的,但都有例子,通俗易懂;
Faker生成的数据默认为英文,在config/app.php中可以将faker_locale设置为zh _ cn模型工厂写好之后,下一步就是调用。回头看看数据填充文件database/seeds/fakerussereder . PHP,在run()方法中,下面的代码/* * *运行数据库seeds。* * @ return void */public function run(){ factory(\ app \ Models \ fakeruser 3360: class)-times(1000)-make()-每个(function($ model){//data warning $ model-save();});}time()是生成的次数,make()方法是创建一个模型实例,并将生成的模型实例存储在每个()方法中。
最后一步是执行数据填充。在composer转储-自动加载后,PHP artisan DB :种子类=fakerusersseeder测试
好,让我们看看数据库中的数据是否正确生成。看总数
总数没有问题。随机看十条数据
数据也是正确的。
摘要
以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。谢谢你的支持。
版权声明:laravel使用Faker数据填充的实现方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。