宝哥软件园

laravel使用Faker数据填充的实现方法

编辑:宝哥软件园 来源:互联网 时间:2021-08-26

导言:

在进行开发时,有必要添加测试数据。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用户工厂;在模型工厂中,可以通过FakerGenerator生成测试数据,编辑数据库/工厂/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年'),//时间介于三年和一年之间'更新});FakerGenerator的功能可以直接从上面的代码看到。它可以生成许多数据类型。更多类型见官方文件。虽然是英文的,但都有例子,通俗易懂;

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测试

好,让我们看看数据库中的数据是否正确生成。看总数

总数没有问题。随机看十条数据

数据也是正确的。

摘要

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。谢谢你的支持。

更多资讯
游戏推荐
更多+