by Devin Yang

建立于: 9年前 ( 更新: 9年前 )

在Laravel中,如何用ModelFactory创建中文的假数据呢?
我是这么做的参考看看吧。
<?php
use FakerFactory as TwFacker;
/** @var IlluminateDatabaseEloquentFactory $factory */
$factory->define(AppUser::class, function (FakerGenerator $faker) {
static $password;
$tw_faker = TwFacker::create('zh_TW');
return [
'name' => $tw_faker->name,
'address' => $tw_faker->address,
'city' => preg_replace('#(.{3})(.*)#um', '$1', $tw_faker->city),
'email' => $faker->unique()->safeEmail,
'password' => $password ?: $password = bcrypt('secret'),
'remember_token' => str_random(10),
];
});

自定义一个TwFacker的别名,我们就可以使用他了。
在这里用 $tw_faker->name 取代原来Laravel提供的 $faker->name ,所以就可以保存中文的名字。

我们也可以自己在Laravel的专安目录下,的vendor/fzaninotto/faker/src/Faker/Provider/zh_TW进行相关本地化的文件调整。

例如Text.php的文本,即可以生成更符合我们所需要的假数据中文啦..
https://github.com/fzaninotto/Faker/blob/master/src/Faker/Provider/zh_TW/Text.php

Tags: laravel ModelFactory

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


laravel

加栏位同时更新Laravel

被朋友说,墨菲定律,升级总是那么不顺,当然要升给他看我有多顺,没在怕的。 我还顺便加了个栏位。

Laravel linux

我的移动电脑,安装Laravel 8在Sony xperia 5 II上

这是我的第一只Android手机,试装Laravel完全没问题耶,基本上我装了vim及mariadb。 运行sshd后,可以透过8022登录哦,完全是一台移动电脑了:p。 我使用的软体是Termux...

dlaravel

如何设置外网IP给D-Laravel上的Project?

这个影片介绍了在D-Laravel环境上,我们如何指定Public Ip(公有IP)给特定的Project的使用。 不论是外部Production环境的设置或是内网自己项目Demo时,都可参考此影片的设置方式哦 。 在影片中虽然我采用了PPPoE拨接的外网IP进行说明,但是我们改变一下也可以用自己电脑上的区网IP。 这样就可以让同事连到我们的D-Laravel的Project了。