Vorgeschichte:
Vor ein paar Tagen bat der Kunde darum, ein Mitglieder-Q&A-System zu erstellen, also folgte ich dem Prozess, als es an der Zeit war, die Datenbankdaten abzurufen , ich hatte das Gefühl, dass a Es ist ein bisschen dumm, etwas hinzuzufügen~
Lösungsprozess:
Später habe ich das Handbuch überprüft und mir ausländische Blog-Fälle angesehen, und ich habe es mir ausgedacht eine gute Methode~~~
Mein Nutzungsprotokoll wurde als Screenshot angezeigt:
Bis das letzte Gerät die Zeit anzeigt, bedeutet dies, dass die Sämaschine erfolgreich läuft~
Das Folgende ist das Offizieller Prozess
Im Thinkphp5-Projekt können wir den folgenden Befehl in die Befehlszeile eingeben:
php think seed:create UserSeeder
Erstellen Sie eine UserSeeder
-Datei Wenn die Erstellung erfolgreich ist, können Sie database/seeds
Siehe unten das Verzeichnis:
database|-seeds |-|-UserSeeder.php
Der Inhalt ist wie folgt:
<?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() { } }
Der Code ist sehr einfach und ein run
Die Methode ist standardmäßig angegeben. Jetzt kennen wir alle die Seeder-Datei. Sie wird zum Generieren simulierter Daten verwendet, und der Code zum Generieren simulierter Daten kann in die Methode run
geschrieben werden.
In der run
-Methode können wir jeden Code eingeben, der die Datenbank füllen kann. Hier gebe ich Ihnen einige Ideen:
Anforderungen:
Geben Sie die Datentabelle an Users
, um 100 Daten zu simulieren und zu generieren. Die Tabellenstruktur ist wie folgt:
字段 | 说明 |
---|---|
nickname | 呢称 |
<a href="http://www.php.cn/code/114.html" target="_blank">email</a> | 邮箱 |
password | 密码 |
Nachdem ich die Anforderungen erhalten habe, kann ich so schreiben:
<?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(); } }
Hinweis: Rufen Sie unbedingt die Methode
save()
auf , sonst wird es nicht gespeichert.
Zuerst habe ich 100 Datenelemente generiert und dann $this->table('users')->insert($rows)->save();
aufgerufen, um die generierten Daten in die Users
-Tabelle der Datenbank einzufügen. Ist es nicht ganz einfach? ^ - ^.
Nachdem die Seeder-Datei definiert ist, müssen Sie sie ausführen, bevor die Daten in die Datenbank eingefügt werden können. Wir können sie wie folgt ausführen:
php think seed:run
Aufforderung zur erfolgreichen Ausführung: All Done. Took 0.0552s
. Sie können sehen:
Das obige ist der detaillierte Inhalt vonThinkphp5 verwendet den Seeder im Composer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!