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

需要登入才可留言!

類似的文章


d-laravel, docker, docker-compose, laravel

D-Laravel釋出v0.9.1版了

為了讓D-Laravel保持在一個可運作的版本及穩定的本。 開始使用Tag標註該版本通過測試那些測試.. 這個版本已通過ubuntu實及macos實機測試,可順利建立Container及執行哦..

laravel,dotenv,seo

我如何依子域名動態載入Laravel不同的dotenv檔

開始前先來抱怨一下,本來我的網站可以依使用者的瀏覽器自動顯示不同的語系的。這有何不可,但Google的SEO似乎不喜歡這麼搞,他建議每種語言使用不同的網址,不要用cookie或瀏覽器設定來調整網頁內容,好吧那我只能乖乖就範了。他的建議作法,第一種方案:依國家區分,像是example.tw或example.de這真的天方夜譚怎麼可能,要嘛收購被註冊的域名,要不然取個全球沒人會取的怪域名還比較有機會。第二種方案:用子域名區分,這正式我準備要做的,等等來說明在Laravel中怎麼弄。第三種方案:example.com/tw/ 之類的,Apple好像就這麼弄的。第四種方案:site.com?loc=tw之類,不建議使用,確實我也覺的這個不是一個好主意。

dlaravel

使用D-Laravel build自己專用的php fpm image。

D-Laravel已提供了Build好的php image,如果需要自己調整及Build自己專用的Image相當簡單。 一、首先在D-Laravel的錄中,進入dockerfiles/fpm,選擇您要Build的PHP版本,例如7.2。 指令如下...