摘要:今晚不對,是昨晚,折騰一個的小項目,發(fā)現(xiàn)自動填充的中文數(shù)據(jù)顯示起來總不太美觀,于是開始琢磨如何填充中文數(shù)據(jù)進行測試。
今晚……不對,是昨晚,折騰一個的小項目,發(fā)現(xiàn)自動填充的中文數(shù)據(jù)顯示起來總不太美觀,于是開始琢磨如何填充中文數(shù)據(jù)進行測試。
然而一番搜索后驚奇的發(fā)現(xiàn),官方、以及一些非官方的文檔均未提及這一功能。期間看到一篇他人的“經(jīng)驗”文章,雖然可以實現(xiàn)這一需求,卻要求修改 vendor 目錄下 fzaninotto/Faker 包的源碼,對于一個中了 Laravel 的“優(yōu)雅之毒”的人來說,怎能容忍如此風騷的操作?
一定有更好的辦法……
繼續(xù)理清 Laravel 模型工廠原理之后,終于有所進展。發(fā)現(xiàn)其實只需要一個小小的修改就可以實現(xiàn)這一功能。
根據(jù)官方示例的模型工廠代碼
$factory->define(AppProduct::class, function (FakerGenerator $faker) { return [ "user_id" => 1, "name" => $faker->name, "mobile" => $faker->phoneNumber, "province" => $faker->state, "city" => $faker->city, "area" => $faker->area, "address" => $faker->streetAddress, "postcode" => $faker->postcode, ]; });
調(diào)整后的代碼
$factory->define(AppAddress::class, function () { $faker = FakerFactory::create("zh_CN"); return [ "user_id" => 1, "name" => $faker->name, "mobile" => $faker->phoneNumber, "province" => $faker->state, "city" => $faker->city, "area" => $faker->area, "address" => $faker->streetAddress, "postcode" => $faker->postcode, ]; });
調(diào)整前,使用依賴注入的 FakerGenerator 是使用的默認語言,即英文。
調(diào)整后, FakerFactory::create("zh_CN") 也會返回一個 FakerGenerator, 但它是使用漢語初始化的。
事實上 Faker 本地化對于中文的支持仍有部分待完善,使用暫時不支持生成隨機中文句子或者段落(相應的方法返回的仍然會是英文的),但我相信不久之后會有大牛實現(xiàn)這一些功能。
最后,上圖,實際生成數(shù)據(jù)效果如下:
請別糾結省市區(qū)從屬關系,數(shù)據(jù)僅供測試而已
評論中大牛提醒后發(fā)現(xiàn), Laravel5.4 及更新版本其實已經(jīng)考慮了這一問題,并設置了相關的配置項 app.faker_locale,只不過在文檔和默認的配置文件中看不到這一參數(shù)。相關源碼在 IlluminateDatabaseDatabaseServiceProvider 類中,可以查看源碼來判斷是否支持這一配置項。對于支持的版本,只需要在 configapp.php 文件中加入 faker_locale => "zh_CN" 就可以實現(xiàn)了
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/23177.html
摘要:不過除了使用加密,還可以使用原文鏈接使用來調(diào)試應用程序的數(shù)據(jù)以及使用一些總結參考資料參考資料使用來調(diào)試你的參考資料框架填充中文數(shù)據(jù)測試數(shù)據(jù) 使用Tinker來調(diào)試Laravel應用程序的數(shù)據(jù)以及使用Tinker一些總結 [toc] 今天我們將討論如何使用Laravel的一些鮮為人知的功能來快速讀取Laravel應用程序中的數(shù)據(jù)。我們可以使用Laravel的手工內(nèi)置php artisan...
摘要:用也有三四個月了,雖然是兼職開發(fā),但是使用的頻率非常之高,畢竟是產(chǎn)品化的一個項目。第二階段數(shù)據(jù)庫和開發(fā)了比較多的功能之后,會發(fā)現(xiàn)需要大量的測試數(shù)據(jù),這時候和就該大顯身手了。 用Laravel也有三四個月了,雖然是兼職開發(fā),但是使用的頻率非常之高,畢竟是產(chǎn)品化的一個項目。在這期間,也踩了無數(shù)的坑,走了很多彎路,所以準備把最近的感悟記錄下來,方便后來者。 第一階段:簡單的增刪改查 這是最...
摘要:不僅如此,在線上部署的時候,也避免了手動導入數(shù)據(jù)庫或手動修改數(shù)據(jù)結構的麻煩,數(shù)據(jù)遷移幫你方便的維護著數(shù)據(jù)結構。數(shù)據(jù)遷移假如我們需要一張學生表,我們不再使用原生語句去創(chuàng)建表。 寫在前面 經(jīng)常我們做項目都團隊協(xié)作開發(fā),每個人都在自己本地的數(shù)據(jù)庫,如果你曾經(jīng)出現(xiàn)過讓同事手動在數(shù)據(jù)庫結構中添加字段的情況,數(shù)據(jù)庫遷移可以解決你這個問題。 不僅如此,在線上部署的時候,也避免了手動導入數(shù)據(jù)庫或手動修...
摘要:個人網(wǎng)站最近剛寫了一個手機在線播放的電影站使用日常手記更新使用的的查詢作用域的本地作用域去自定義可復用的約束集合,方便鏈式調(diào)用什么是本地查詢作用域本地作用域允許我們定義通用的約束集合以便在應用中復用。 關于作者 程序開發(fā)人員,不拘泥于語言與技術,目前主要從事PHP和前端開發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開發(fā)。合適和夠用是最完美的追求。 個人網(wǎng)站:...
閱讀 3241·2021-11-24 10:43
閱讀 4203·2021-11-24 10:33
閱讀 3781·2021-11-22 09:34
閱讀 2131·2021-10-11 10:58
閱讀 3751·2021-10-11 10:58
閱讀 863·2021-09-27 13:36
閱讀 3583·2019-08-30 15:54
閱讀 2972·2019-08-29 18:41