Heim > PHP-Framework > Laravel > Hauptteil

Modifikation der Laravel-Framework-Datenbank

WBOY
Freigeben: 2023-05-20 13:40:38
Original
815 Leute haben es durchsucht

Laravel ist ein sehr beliebtes PHP-Framework für die Entwicklung von Webanwendungen, das viele praktische Funktionen und Tools bietet, um den Prozess der Datenbankänderung zu vereinfachen. In diesem Artikel werden wir die datenbankmodifikationsbezogenen Aspekte des Laravel-Frameworks untersuchen.

  1. Datenbankmigration

Im Laravel-Framework ist die Datenbankmigration ein praktisches Tool zum Übertragen der Struktur einer Datenbank von einer Version auf eine andere eine andere Version. Mithilfe von Migrationen können Sie problemlos Tabellen erstellen und ändern, Spalten hinzufügen oder löschen, Indizes und Einschränkungen ändern und vieles mehr. Migrationsdateien werden im Verzeichnis „database/migrations“ gespeichert. Jede Migrationsdatei stellt einen Datenbankmigrationsvorgang dar und enthält „Up“- und „Down“-Methoden zum Ändern der Datenbank. Durch Ausführen des Befehls „php artisan migrate“ werden alle ausstehenden Migrationsvorgänge automatisch durchgeführt.

Das Folgende ist eine Beispielmigrationsdatei zum Erstellen einer „Benutzer“-Tabelle:

use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}
Nach dem Login kopieren

Diese Migrationsdatei erstellt eine „Benutzer“-Tabelle mit den statischen Methoden des „Schemas“ class , einschließlich Spalten wie Auto-Inkrement-ID, Name, eindeutige E-Mail-Adresse, Passwort und Zeitstempel. Bei der Methode „down“ wird die Tabelle „users“ gelöscht.

  1. Datenbefüllung

Im Laravel-Framework ist Datenbefüllung der Prozess des Hinzufügens von Testdaten zur Datenbank. Verwenden Sie Datenpopulationen, um den Prozess des Testens und Demonstrierens von Datenbankvorgängen zu vereinfachen. Datenfülldateien werden im Verzeichnis „database/seeds“ gespeichert. Führen Sie den Befehl „php artisan db:seed“ aus, um die Daten aufzufüllen.

use IlluminateDatabaseSeeder;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesHash;
use AppUser;

class UsersTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('users')->delete();

        $users = array(
            array(
                'name' => 'admin',
                'email' => 'admin@admin.com',
                'password' => Hash::make('password'),
            ),
            array(
                'name' => 'user',
                'email' => 'user@user.com',
                'password' => Hash::make('password'),
            ),
        );

        foreach ($users as $user) {
            User::create($user);
        }
    }
}
Nach dem Login kopieren

Diese Datei erstellt zwei Benutzer und fügt sie der Datenbank hinzu. Beachten Sie, dass die Spalte „Passwort“ mit der „Hash“-Klasse von Laravel verschlüsselt ist. Nach der Ausführung des Befehls „php artisan db:seed“ enthält die Tabelle „users“ Datensätze für beide Benutzer.

  1. Modellbeziehung

Im Laravel-Framework können Sie einfach auf verwandte Daten in der Datenbank zugreifen, indem Sie Verknüpfungen zwischen Modellen erstellen. Es gibt drei Arten von Beziehungen: Eins-zu-Eins, Eins-zu-Viele und Viele-zu-Viele. Nachdem Sie eine Beziehung in einem Modell definiert haben, können Sie auf die zugehörigen Daten genau wie auf das Modell selbst zugreifen.

Wenn Sie beispielsweise ein „Benutzer“-Modell und ein „Post“-Modell haben, können Sie im „Benutzer“-Modell eine Eins-zu-viele-Beziehung definieren und problemlos auf alle von diesem erstellten Beiträge zugreifen Benutzer:

class User extends Model
{
    /**
     * Get the posts for the user.
     */
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

$user = User::find(1);

foreach ($user->posts as $post) {
    echo $post->title;
}
Nach dem Login kopieren

Dieser Code ruft einen Benutzer aus der Datenbank ab und greift dann über das Attribut „Beiträge“ des Benutzers auf alle von diesem Benutzer erstellten Beiträge zu. Sie können im „Post“-Modell eine umgekehrte Beziehung definieren, um beim Zugriff auf einen Beitrag einfach auf die Informationen des Benutzers zuzugreifen, der sie erstellt hat.

Zusammenfassung

Laravel bietet viele praktische Tools und Funktionen, um den Prozess der Datenbankänderung zu vereinfachen. Mithilfe von Migrationen können Sie problemlos Tabellen erstellen und ändern, Spalten hinzufügen oder löschen, Indizes und Einschränkungen ändern und vieles mehr. Verwenden Sie Datenpopulationen, um den Prozess des Testens und Demonstrierens von Datenbankvorgängen zu vereinfachen. Durch das Erstellen von Verknüpfungen zwischen Modellen können Sie problemlos auf verwandte Daten in der Datenbank zugreifen. Bevor Sie mit Datenbankänderungen beginnen, sichern Sie unbedingt wichtige Daten und gehen Sie vorsichtig vor.

Das obige ist der detaillierte Inhalt vonModifikation der Laravel-Framework-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage