ホームページ >PHPフレームワーク >Laravel >LaravelのFakerデータ充填方法の紹介(コード)
この記事の内容は、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.php で
faker_locale を
zh_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 の後、TestOK、データベースが正常に動作しているかどうかを確認しましょうデータは正しく生成されます。合計を見てください
も正しいです。of
以上がLaravelのFakerデータ充填方法の紹介(コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。