Maison  >  Article  >  développement back-end  >  Thinkphp5 utilise le seeder dans composer

Thinkphp5 utilise le seeder dans composer

PHP中文网
PHP中文网original
2018-02-18 14:08:371928parcourir

Antécédents :

Il y a quelques jours, le client a demandé de créer un système de questions-réponses pour les membres, j'ai donc suivi le processus quand est venu le temps d'appeler les données de la base de données. , j'ai senti qu'un C'est un peu stupide d'ajouter~

Processus de solution :

Plus tard, j'ai vérifié le manuel et regardé des cas de blogs étrangers, et j'ai trouvé une bonne méthode~~~

Mon enregistrement d'utilisation a été une capture d'écran :

Jusqu'à ce que le dernier affiche l'heure, cela signifie que le semoir fonctionne avec succès~

Ce qui suit est le processus officiel

Création de Seeder

Dans le projet Thinkphp5, on peut saisir la commande suivante sur la ligne de commande :

php think seed:create UserSeeder

Créer un fichier UserSeeder Après. la création est réussie, vous pouvez database/seedsVoir ci-dessous le répertoire :

database|-seeds
|-|-UserSeeder.php

Le contenu est le suivant :

<?phpuse think\migration\Seeder;class UserSeeder extends Seeder
{    /**
     * Run Method.
     *
     * Write your database seeder using this method.
     *
     * More information on writing seeders is available here:
     * http://docs.phinx.org/en/latest/seeding.html
     */    public function run()
    {

    }
}

Le code est très simple, et un run La méthode est donnée par défaut. Maintenant, nous connaissons tous le fichier seeder. Il est utilisé pour générer des données simulées, et le code pour générer des données simulées peut être écrit dans la méthode run.

Méthode d'exécution de Seeder

Dans la méthode run, nous pouvons remplir n'importe quel code pouvant remplir la base de données. Ici, je vais vous donner quelques idées :

Exigences :
Donner le tableau de données Users pour simuler et générer 100 éléments de données. La structure du tableau est la suivante :

字段 说明
nickname 呢称
<a href="http://www.php.cn/code/114.html" target="_blank">email</a> 邮箱
password 密码

Après avoir reçu les exigences, je peux écrire comme ceci :

<?phpuse think\migration\Seeder;class UserSeeder extends Seeder
{    /**
     * Run Method.
     *
     * Write your database seeder using this method.
     *
     * More information on writing seeders is available here:
     * http://docs.phinx.org/en/latest/seeding.html
     */    public function run()
    {
        $rows = [];        for ($i = 0; $i < 100; $i++) {
            $rows[] = [                &#39;nickname&#39; => mt_rand(10000, 99999),                &#39;email&#39; => mt_rand(10000, 99999).&#39;@qq.com&#39;,                &#39;password&#39; => md5(&#39;123456&#39;),
            ];
        }        $this->table(&#39;users&#39;)->insert($rows)->save();
    }
}

Remarque : assurez-vous d'appeler la méthode save() , sinon il ne sera pas enregistré.

D'abord, j'ai généré 100 éléments de données, puis j'ai appelé $this->table('users')->insert($rows)->save(); pour insérer les données générées dans la table Users de la base de données. N'est-ce pas très simple ? ^ - ^.

Exécuter Seeder

Une fois le fichier Seeder défini, vous devez l'exécuter avant que les données puissent être insérées dans la base de données. Nous pouvons l'exécuter comme ceci :

<.>
php think seed:run
Invite d'exécution réussie :

. Vous pouvez voir : All Done. Took 0.0552s



php think seed:run

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!

Déclaration:
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