Maison > cadre php > Laravel > Comment implémenter rapidement le remplissage de données dans Laravel (à l'aide de Seeder)

Comment implémenter rapidement le remplissage de données dans Laravel (à l'aide de Seeder)

藏色散人
Libérer: 2021-11-03 15:56:30
avant
3518 Les gens l'ont consulté

La colonne tutorielle suivante de Laravel vous présentera l'utilisation du seeder par Laravel pour remplir les données dans le tableau de données. J'espère que cela sera utile à tout le monde !

Laravel utilise seeder pour remplir les données dans la table de données

Laissez-moi vous montrer comment remplir rapidement les données dans la table de données

Tout d'abord, exécutez la commande php artisan et diverses instructions de commande apparaîtront

php artisan make:seeder
Copier après la connexion

Selon La commande demande de créer le fichier correspondant comme indiqué ci-dessous

php artisan make:seeder TestSeeder
Copier après la connexion

Tout d'abord, je crée une table de test comme indiqué ci-dessous

Le contenu du fichier TestSeeder.php est le suivant

<?php

use Illuminate\Database\Seeder;

class TestSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table(&#39;test&#39;)->insert([
            &#39;name&#39; => str_random(10),
            &#39;sex&#39; => rand(1,2), // 1男 2女
            &#39;email&#39; => str_random(10).&#39;@qq.com&#39;,
            &#39;password&#39; => bcrypt(&#39;123456&#39;), // bcrypt为hash加密
        ]);
    }
}
Copier après la connexion

Exécuter Utilisez la commande suivante pour remplir de fausses données

php artisan db:seed --class=TestSeeder
Copier après la connexion


Chaque fois que vous en ajoutez une, vous devrez exécuter une commande. Ce sera très gênant. Il est préférable d'écrire une boucle for pour insérer une. nouveau

for ($x=0; $x<=10; $x++) {
     DB::table(&#39;test&#39;)->insert([
          &#39;name&#39; => str_random(10),
          &#39;sex&#39; => rand(1,2), // 1男 2女
          &#39;email&#39; => str_random(10).&#39;@qq.com&#39;,
          &#39;password&#39; => bcrypt(&#39;123456&#39;), // bcrypt为hash加密
     ]);
}
Copier après la connexion

Les données de la base de données sont affichées ci-dessous :

Si vous devez ajouter les données de test de plusieurs tables en même temps, vous devez ajouter DatabaseSeeder.php :

<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    public function run()
    {
        // $this->call(UsersTableSeeder::class);
         $this->call(CreateDepartmentsSeeder::class);
         $this->call(CreateUsersSeeder::class);
         $this->call(CreateWagesSeeder::class);
    }
}
Copier après la connexion

Exécutez la commande suivante pour remplir les données de test de plusieurs tables

php artisan db:seed
Copier après la connexion
当我们执行  php artisan db:seed 
提示 class UserTableSeeder does not exist

这个错误基本是出现在不经过composer的时候出现的,至于为什么会出现呢?
1.可能是你执行php artisan make:seeder UserTableSeeder 的时候,他没有把UserTableSeeder.php 写到自动加载里面去
2.你是复制过来的

解决方法: composer dump-autoload
Copier après la connexion

Adresse officielle du document : https ://laravel.com/docs/5.5/seeding#writing-seeders

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:csdn.net
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