Thinkphp5 utilise le seeder dans composer

PHP中文网
Libérer: 2023-03-20 10:46:01
original
1975 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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()
    {

    }
}
Copier après la connexion

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

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(&#39;users&#39;)->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
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
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