Dieser Artikel bietet Ihnen eine Einführung (Code) zur Verwendung von Faker-Daten. Er hat einen gewissen Referenzwert. Ich hoffe, er wird für Sie hilfreich sein.
Einführung: Bei der Entwicklung ist das Hinzufügen von Testdaten unerlässlich. Das Folgende ist ein Beispiel.
Datenmigration
Erstellen Sie zuerst das Datenmodell und die Datenmigrationphp artisan make:model Models/FakerUser -m
;
Erstellen Sie nur ein paar einfache Felder und bearbeiten Sie die database/migrations/{now_date}_create_faker_users_table.php
Datei
/** * 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'测试用户表'"); // 表注释 }
Führen Sie die Datenmigration ausphp artisan migrate
und dann wird die Datentabelle erstellt.
Datenfüllung
Datenfüllungsdatei erstellenphp artisan make:seeder FakerUsersSeeder
;
Nachdem die Erstellung abgeschlossen ist, können wir sie erstellen in run()
Fügen Sie der Methode manuell mehrere Testdaten hinzu. Eine gute Möglichkeit besteht jedoch darin, Modellfabrik zu verwenden und sich dann der Modellfabrik
zuzuwenden In der Modellfabrik können Sie php artisan make:factory FakerUsersFactory
verwenden, um Testdaten zu generieren und
<?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'),// 时间在 一年到五个月之间 ]; });
FakerGenerator
zu bearbeiten. Aus dem obigen Code können Sie die Rolle von database/factories/FakerUsersFactory.php
deutlich erkennen. Es gibt viele Arten von Daten, die generiert werden können. Sie können sich die offizielle Dokumentation ansehen, die jedoch Beispiele enthält und leicht zu verstehen ist Standardmäßig wird FakerGenerator
-Modellfabrik wird geschrieben und der nächste Schritt besteht darin, sie aufzurufen. Zurück zur Datenfülldatei
ist der folgende Code Faker
config/app.php
/** * Run the database seeds. * * @return void */ public function run() { factory(\App\Models\FakerUser::class)->times(1000)->make()->each(function ($model) { // 数据入库 $model->save(); }); }
faker_locale
time() die Anzahl der Generierungen, die Methode make() dient zum Erstellen eines Modells Instanz, in der every()-Methode Speichern Sie die generierte Modellinstanz in der Datenbank. zh_CN
Der letzte Schritt besteht darin, nach dem Composer dump-autoload php artisan db:seed --class=FakerUsersSeederdatabase/seeds/FakerUsersSeeder.php
Testrun()
Okay, mal sehen, ob die Datenbank Daten werden korrekt generiert. Schauen Sie sich die Gesamtzahl an
Die Daten sind auch korrekt von
Das obige ist der detaillierte Inhalt vonEinführung in die Methode von Laravel zur Verwendung der Faker-Datenfüllung (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!