Maison >développement back-end >tutoriel php >Thinkphp5 utilise le seeder dans composer
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
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/seeds
Voir 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
.
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[] = [ 'nickname' => mt_rand(10000, 99999), 'email' => mt_rand(10000, 99999).'@qq.com', 'password' => md5('123456'), ]; } $this->table('users')->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 ? ^ - ^.
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:runInvite d'exécution réussie :
. Vous pouvez voir : All Done. Took 0.0552s
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!