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

Facebook的測試用戶

是否有人跟我一樣網站用OAuth進行網站的使用者登入,在Facebook的開發者頁面有一個「測試用戶」, 可以用來測試Facebook的功能是否正常, 因為網站搬家到Google的GCE時,不知何故,我居然在Laravel的User的model中$fillable的array內多貼了一個~, 一般情況下程式都正常運作,但是在新使用者登入時,就出錯給你看。 一直聽到有人說,沒法登入這個網站留言,我想說,我都很正常呀。@@ 今天使用測試用戶測試後,哈,發覺我的網站上的登入功能根本壞很久了。

php,docker,dlaravel

我建立的phpenv容器環境簡單介紹

沒時間拍介紹影片,我就來隨便抓些畫面介紹我使用的容器環境deviny/phpenv。https://github.com/DevinY/phpenvphpenv算是我之前D-Laravel開源專案的進化版本,概念上延用了很多Dlaravel的操作方式。容器的更新上偏向使用者自行控制去Build自己的image,所以我不太會去更動版號了,其實D-Laravel的php版號,好像我也很久沒動啦:p&nbsp;

dlaravel

D-laravel已加入建議的opcache.ini設定了

最新版本的D-Laravel已加入opcache的建議設定了。 啟用方式非常簡單,請在D-Laravel目錄下執行即可。