婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > laravel使用Faker數據填充的實現方法

laravel使用Faker數據填充的實現方法

熱門標簽:抖音有個地圖標注是什么意思 九江外呼系統 地下城堡2圖九地圖標注 智能電話機器人排名前十名南京 保定crm外呼系統運營商 七魚外呼系統停用嗎 西區企業怎么做地圖標注入駐 海南人工外呼系統有效果嗎 阿里云400電話申請加工單

導語

做開發的時候,添加測試數據是必不可少的,laravel 內置了很方便的數據填充,下面是實例。

注意:laravel5框架中已經內置了faker組建,不用安裝

數據遷移

先創建數據模型和數據遷移 php artisan make:model Models/FakerUser -m;

只創建幾個簡單字段,編輯 database/migrations/{now_date}_create_faker_users_table.php 文件

/**
 * Run the migrations.
 *
 * @return void
 */
 public function up()
 {
 Schema::create('faker_users', function (Blueprint $table) {
  $table->increments('id');
  $table->char('name', 20)->comment('姓名');
  $table->string('email', 50)->comment('郵箱');
  $table->tinyInteger('age')->comment('年齡');
  $table->char('city', 20)->comment('城市');
  $table->timestamps();
 });

 DB::statement("ALTER TABLE `faker_users` comment'測試用戶表'"); // 表注釋
 }

運行數據遷移 php artisan migrate 之后數據表創建完成。

數據填充

  1. 創建數據填充文件 php artisan make:seeder FakerUsersSeeder;
  2. 創建完成后,我們可以在 run() 方法中手動添加幾條測試數據。但是好的辦法,是使用模型工廠,接下來把注意力轉移到模型工廠中;
  3. 創建模型工廠 php artisan make:factory FakerUsersFactory;
  4. 在模型工廠中,可以通過 Faker\Generator 來生成測試數據,編輯 database/factories/FakerUsersFactory.php
?php

use Faker\Generator as Faker;

$factory->define(\App\Models\FakerUser::class, function (Faker $faker) {
 return [
 'name' => $faker->name,
 'email' => $faker->safeEmail,
 'age' => $faker->numberBetween(8, 80),// 數字在 8-80 之間隨機
 'city' => $faker->city,
 'created_at' => $faker->dateTimeBetween('-3 year', '-1 year'),// 時間在 三年到一年 之間
 'updated_at' => $faker->dateTimeBetween('-1 year', '-5 month'),// 時間在 一年到五個月之間
 ];
});

由上述代碼可以很直白的看出 Faker\Generator 的作用。它可以生成的數據類型有很多,更多的類型可以看下官方文檔,雖然是英文的,不過都有示例,簡單易懂;

  1. Faker 生成的數據默認是英文,可以在 config/app.php 中將 faker_locale 設置為 zh_CN;
  2. 模型工廠寫好了,接下來就是調用。目光回到數據填充文件 database/seeds/FakerUsersSeeder.php,在 run() 方法中如下代碼
/**
 * Run the database seeds.
 *
 * @return void
 */
 public function run()
 {
 factory(\App\Models\FakerUser::class)->times(1000)->make()->each(function ($model) {
  // 數據入庫
  $model->save();
 });
 }

time() 是生成的次數,make() 方法是創建模型實例,在 each() 方法中將生成的模型實例入庫保存。

  1. 最后就是執行數據填充,composer dump-autoload 之后 php artisan db:seed --class=FakerUsersSeeder

測試

好了,看下數據庫的數據是否生成正確。看下總數

總數沒有問題,隨機看十條數據

數據也是正確的。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Laravel中數據遷移與數據填充的詳細步驟
  • Laravel實現數據庫遷移與支持中文的填充
  • Laravel框架使用Seeder實現自動填充數據功能

標簽:甘肅 九江 昭通 涼山 梅河口 十堰 韶關 遼陽

巨人網絡通訊聲明:本文標題《laravel使用Faker數據填充的實現方法》,本文關鍵詞  laravel,使用,Faker,數據,填充,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《laravel使用Faker數據填充的實現方法》相關的同類信息!
  • 本頁收集關于laravel使用Faker數據填充的實現方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 武冈市| 南宁市| 苏尼特右旗| 汽车| 丹凤县| 西和县| 敦煌市| 枣阳市| 西丰县| 二连浩特市| 遵义市| 阿图什市| 资源县| 木兰县| 新河县| 黑河市| 若羌县| 墨竹工卡县| 成安县| 德惠市| 绥宁县| 襄樊市| 织金县| 来凤县| 太仆寺旗| 安庆市| 饶河县| 周口市| 尖扎县| 牙克石市| 偃师市| 南漳县| 江孜县| 上蔡县| 隆林| 建瓯市| 高淳县| 专栏| 安阳县| 宜君县| 阳朔县|