Heim  >  Artikel  >  PHP-Framework  >  So ändern Sie den Feldtyp in Laravel

So ändern Sie den Feldtyp in Laravel

PHPz
PHPzOriginal
2023-04-19 10:07:551035Durchsuche

In den letzten Jahren hat sich Laravel zu einem führenden Unternehmen im Bereich der Webentwicklung entwickelt und immer mehr Menschen sind bereit, es zu nutzen, um mit der Entwicklung eigener Projekte zu beginnen. Weil Laravel äußerst flexibel und skalierbar ist. Beim Betrieb der Datenbank müssen wir jedoch häufig die Struktur der Tabelle ändern, einschließlich Feldtypen, Größen, Standardwerte usw. In diesem Artikel besprechen wir, wie man Feldtypen in Laravel 5.4 ändert.

Zuerst müssen wir die Grundlagen des Laravel Schema Builder verstehen. Schema Builder ist eine Komponente von Laravel, die eine einfache Möglichkeit bietet, die Struktur von Datenbanktabellen zu erstellen und zu ändern. Hier demonstrieren wir dies am Beispiel von MySQL.

Angenommen, wir haben eine Benutzertabelle (Benutzer) mit einem Feld namens „Alter“, dessen Datentyp ein Ganzzahltyp (INT) ist, und jetzt müssen wir ihn in einen Zeichenfolgentyp (VARCHAR) ändern.

Schritt 1: Erstellen Sie eine Migrationsdatei

Die Migrationsdatei von Laravel ist die „Blaupause“ der Tabellenstruktur in der Datenbank. Wir müssen eine neue Migrationsdatei erstellen, um die Änderung des Feldtyps abzuschließen.

Mit dem Artisan-Befehlszeilentool können wir den folgenden Befehl eingeben:

php artisan make:migration modify_users_table --table=users

Dieser Befehl erstellt eine neue Migrationsdatei mit dem Namen „modify_users_table“. Wir müssen die Datei öffnen und den folgenden Code verwenden, um Migrationslogik in der Up-Methode zu schreiben:

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class ModifyUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->string('age')->change();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->integer('age')->change();
        });
    }
}

In dieser Migrationsdatei verwenden wir die Methode Schema::table, um die Benutzertabelle zu bedienen. Das Blueprint-Objekt wird dann verwendet, um die Definition der neuen Struktur zu erstellen. Anschließend verwenden wir die Methode change(), um den Typ des Felds „Alter“ zu ändern. Diese Methode weist Laravel an, den Datentyp des Felds „Alter“ auf einen Zeichenfolgentyp festzulegen.

Es ist erwähnenswert, dass wir beim Hinzufügen mehrerer Felder in derselben Migrationsdatei mehrere change()-Methoden verwenden können, um deren Datentypen nacheinander zu ändern.

Schritt 2: Führen Sie die Migrationsdatei aus

Da wir nun die Migrationsdatei geschrieben haben, können wir den folgenden Befehl ausführen, damit Laravel Änderungen an der Benutzertabelle basierend auf der Migrationsdatei verarbeiten kann.

php artisan migrate

Dieser Befehl führt alle Migrationsdateien aus, die noch nicht ausgeführt wurden, und zeichnet sie in der Migrationsdateitabelle auf. Wenn Ihre Migration also die erste oder einzige ist, die ausgeführt wird, müssen Sie die Option --pretend nicht verwenden.

Schritt 3: Überprüfung

Nach erfolgreicher Migration können wir in der Datenbank die Struktur der Benutzertabelle anzeigen, um sicherzustellen, dass die von uns geänderten Datentypfelder wirksam geworden sind. Auf dem MySQL-Server können Sie den folgenden Befehl verwenden:

DESCRIBE users;

Dieser Befehl zeigt die Struktur der Benutzertabelle und die Felder der Datentypen an, die wir in der Migrationsdatei geändert haben. Wenn die Änderung erfolgreich ist, sollten Sie sehen, dass der Typ auf den Typ VARCHAR festgelegt wurde.

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(10)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255) | NO   |     | NULL    |                |
| age   | varchar(255) | NO   |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+

Zusammenfassung

In Laravel ist das Ändern des Datentyps eines Felds eine sehr einfache Sache. Wir müssen lediglich eine neue Migrationsdatei schreiben und die API des Schema Builders verwenden, um dies ganz einfach zu erledigen. Wenn Sie andere Aspekte der Tabellenstruktur ändern möchten, können Sie dies einfach durch Ändern der Migrationsdatei tun. Kurz gesagt, Laravel ist wirklich ein leistungsstarkes Tool in der Webentwicklung, egal ob es die Tabellenstruktur ändert oder andere Funktionen implementiert, es kann Ihnen die Implementierung erleichtern.

Das obige ist der detaillierte Inhalt vonSo ändern Sie den Feldtyp in Laravel. 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