Maison > cadre php > Laravel > le corps du texte

Introduction à la méthode Laravel d'utilisation du remplissage de données Faker (code)

不言
Libérer: 2019-04-12 10:02:01
avant
4043 Les gens l'ont consulté

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.phpfichier

/**
     * 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'测试用户表'"); // 表注释
    }
Copier après la connexion

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'),// 时间在 一年到五个月之间
    ];
});
Copier après la connexion

À 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();
        });
    }
Copier après la connexion

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

Test

D'accord, voyons si la base de données. les données sont générées correctement. Regardez le nombre total

Introduction à la méthode Laravel dutilisation du remplissage de données Faker (code)

Il n'y a aucun problème avec le nombre total. Regardez dix données aléatoires

Introduction à la méthode Laravel dutilisation du remplissage de données Faker (code)

Les données sont également correctes de

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!