Cet article vous apporte une introduction (code) sur la méthode d'utilisation des données Faker dans Laravel. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Introduction : Lors du développement, l'ajout de données de test est essentiel. Laravel a intégré un remplissage de données très pratique.
Migration des données
Créez d'abord le modèle de données et la migration des donnéesphp artisan make:model Models/FakerUser -m
Créez seulement quelques champs simples et modifiez le database/migrations/{now_date}_create_faker_users_table.php
fichier
/** * 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'测试用户表'"); // 表注释 }
Exécuter la migration des donnéesphp artisan migrate
puis la table de données est créée.
Remplissage des données
Créer un fichier de remplissage de donnéesphp artisan make:seeder FakerUsersSeeder
Une fois la création terminée, nous pouvons le créer ; dans run()
Ajoutez manuellement plusieurs éléments de données de test à la méthode. Mais un bon moyen est d'utiliser Model Factory, puis de porter votre attention sur l'usine modèle
Créer une usine modèlephp artisan make:factory FakerUsersFactory
; Dans l'usine de modèles, vous pouvez utiliser FakerGenerator
pour générer des données de test et modifier 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'),// 时间在 一年到五个月之间 ]; });
À partir du code ci-dessus, vous pouvez clairement voir le rôle de FakerGenerator
. Il existe de nombreux types de données qu'il peut générer. Pour plus de types, vous pouvez lire la documentation officielle. Bien qu'elle soit en anglais, elle contient des exemples et est facile à comprendre
Faker
Les données générées sont par défaut en anglais ; , qui peut définir config/app.php
sur faker_locale
dans zh_CN
; la fabrique modèle
est écrite et l'étape suivante consiste à l'appeler. En revenant au fichier de remplissage de données database/seeds/FakerUsersSeeder.php
, dans la méthode run()
le code suivant
/** * Run the database seeds. * * @return void */ public function run() { factory(\App\Models\FakerUser::class)->times(1000)->make()->each(function ($model) { // 数据入库 $model->save(); }); }
time() est le nombre de fois de génération, et la méthode make() consiste à créez une instance de modèle, dans la méthode each( ) enregistre l'instance de modèle générée dans la base de données.
La dernière étape consiste à effectuer le remplissage des données. Après composer dump-autoload php artisan db:seed --class=FakerUsersSeeder
D'accord, voyons si la base de données. les données sont générées correctement. Regardez le nombre total
Il n'y a aucun problème avec le nombre total. Regardez dix données aléatoires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!