Heim  >  Artikel  >  PHP-Framework  >  Wie Laravel 7 PosgreSQL-Bereichstypen unterstützt

Wie Laravel 7 PosgreSQL-Bereichstypen unterstützt

Guanhui
Guanhuinach vorne
2020-07-20 12:41:282572Durchsuche

Wie Laravel 7 PosgreSQL-Bereichstypen unterstützt

Das von @belamov geschriebene PosgreSQL-Range-Type-Paket bietet Range-Type-Unterstützung für Postgres-Datenbanken:

Schema::create('table', function (Blueprint $table) {
    $table->id();
    // ...
    $table->dateRange('date_range');
    $table->timestampRange('timestamp_range');
    $table->floatRange('float_range');
    // 对于 int4range
    $table->integerRange('integer_range');
    // 对于 int8range
    $table->bigIntegerRange('integer_range');

    // 您可以添加任何修改
    // $table->dateRange('date_range')->nullable();
    // $table->dateRange('date_range')->default('[2010-01-01,2010-01-02)');
});

Die Hauptfunktionen dieses Pakets umfassen:

  • erweitert die Klassen PostgresGrammar und PostgresConnection von Laravel, um eine flüssige API für Bereichsspalten bereitzustellen.

  • unterstützt die folgenden Postgres-Bereichstypen: daterange, tsrange, numrange, intrange und timerange.

  • Viele praktische Abfrageerstellungsmakros (d. h. whereRangeContains($left,$right)

  • Modellattributkonvertierung

Die Die von diesem Paket bereitgestellten Modellattributkonvertierungen erleichtern die Arbeit mit Bereichen an Modellinstanzen. Zum Beispiel:

use Belamov\PostgresRange\Ranges\IntegerRange;

$range = new IntegerRange(10, 20, '[', ')');

$range->from(); // 10
$range->to(); // 20
(string) $range; // [10,20)
$range->forSql(); // '[10,20)'

Weitere Informationen zu diesem Paket und zur vollständigen Installation finden Sie unter belamov/postgres-range Code auf GitHub. Dieses Paket enthält einen hervorragenden Blog-Beitrag, der Ihnen eine schnelle Einführung in die leistungsstarken Funktionen der Postgres-Bereichstypen gibt: Verwenden von PostgreSQL-Bereichen mit Laravel 7 Empfohlenes Tutorial:

Laravel-Tutorial

Das obige ist der detaillierte Inhalt vonWie Laravel 7 PosgreSQL-Bereichstypen unterstützt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen