Heim  >  Artikel  >  Backend-Entwicklung  >  Thinkphp5 verwendet den Seeder im Composer

Thinkphp5 verwendet den Seeder im Composer

PHP中文网
PHP中文网Original
2018-02-18 14:08:371975Durchsuche

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

Erstellung von Seeder

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.

Seeder-Ausführungsmethode

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[] = [                &#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();
    }
}

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? ^ - ^.

Seeder ausführen

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:



php think seeds:run

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn