by Devin Yang

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

在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,dotenv,seo

我如何依子域名动态加载Laravel不同的dotenv档

开始前先来抱怨一下,本来我的网站可以依使用者的浏览器自动显示不同的语系的。这有何不可,但Google的SEO似乎不喜欢这么搞,他建议每种语言使用不同的网址,不要用cookie或浏览器设置来调整网页内容,好吧那我只能乖乖就范了。他的建议作法,第一种方案:依国家区分,像是example.tw或example.de这真的天方夜谭怎么可能,要嘛收购被注册的域名,要不然取个全球没人会取的怪域名还比较有机会。第二种方案:用子域名区分,这正式我准备要做的,等等来说明在Laravel中怎么弄。第三种方案:example.com/tw/ 之类的,Apple好像就这么弄的。第四种方案:site.com?loc=tw之类,不建议使用,确实我也觉的这个不是一个好主意。

laravel,blade

Laravel 5.5新功能,在Blade的"json" directive

Laravel 5.5支持一个新的directive,叫做json,在Blade样版,不需调用json_encode就可以印出json。

laravel

在laravel中自定义自己的helper

在Laravel的框架中,包含了相当大量的PHP功能(php functions),称为helper。 https://laravel.com/docs/5.6/helpers 那我们要如何在Laravel中自定义自己的helper呢,其实相当简单呢.. 在composer.json中autoload内的files新建即可。