LaravelのFakerデータ充填方法の紹介(コード)

不言
リリース: 2019-04-12 10:02:01
転載
4079 人が閲覧しました

この記事の内容は、laravelのFakerデータ埋め込みの使い方の紹介(コード)に関するもので、一定の参考価値はありますが、困っている友人は参考にしていただければ幸いです。

はじめに: 開発を行う際、テストデータの追加は欠かせませんが、Laravel には非常に便利なデータ入力機能が組み込まれています。

データ移行

最初にデータ モデルとデータ移行を作成しますphp 職人 make:model Models/FakerUser -m;

いくつかの単純なフィールドを編集します。 database/migrations/{now_date}_create_faker_users_table.php file

/**
     * Run the migrations.
     *
     * @return void
     */7
    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'测试用户表'"); // 表注释
    }
ログイン後にコピー

Run data migrationphp 職人の移行 その後、データテーブルが作成されます。

データ充填

データ充填ファイルの作成php Artisan make:seeder FakerUsersSeeder;

Create完了後、run() メソッドにいくつかのテスト データを手動で追加できます。ただし、良い方法は、Model Factory を使用してから、モデル ファクトリに注目することです。

Create Model Factoryphp Artisan make:factory FakerUsersFactory;

モデル ファクトリでは、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 の機能は、上記のコードから明確にわかります。生成できるデータの種類は数多くあります。その他の種類については、公式ドキュメントを参照してください。英語ですが、例があり、理解しやすいです。

Faker データデフォルトで生成されるのは英語ですが、config/app.phpfaker_localezh_CN に設定できます;

モデル ファクトリが記述されます, 次のステップは転送です。データ充填ファイル

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() メソッドでは、生成されたモデル インスタンスがデータベースに保存されます。

最後のステップは、データ充填を実行することです。composer dump-autoload php 職人 db:seed --class=FakerUsersSeeder の後、

Test

OK、データベースが正常に動作しているかどうかを確認しましょうデータは正しく生成されます。合計を見てください


LaravelのFakerデータ充填方法の紹介(コード)

合計数とランダムデータは問題ありません


LaravelのFakerデータ充填方法の紹介(コード)

も正しいです。of

以上がLaravelのFakerデータ充填方法の紹介(コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!