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-TutorialDas 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!