Le package de type de plage PosgreSQL écrit par @belamov fournit une prise en charge du type de plage pour les bases de données Postgres :
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)'); });
Les principales fonctionnalités de ce package incluent :
étend les classes PostgresGrammar
et PostgresConnection
de Laravel pour fournir une API fluide pour les colonnes de plage.
prend en charge les types de plages Postgres suivants : daterange
, tsrange
, numrange
, intrange
et timerange
.
De nombreuses macros de création de requêtes pratiques (c'est-à-dire whereRangeContains($left,$right)
Conversion d'attributs de modèle
Le les conversions d'attributs de modèle fournies par ce package facilitent l'utilisation de plages sur des instances de modèle :
use Belamov\PostgresRange\Ranges\IntegerRange; $range = new IntegerRange(10, 20, '[', ')'); $range->from(); // 10 $range->to(); // 20 (string) $range; // [10,20) $range->forSql(); // '[10,20)'
Vous pouvez en savoir plus sur ce package, terminer l'installation, dans les instructions belamov/postgres-range et afficher la source. code sur GitHub. Ce package contient un excellent article de blog qui vous donne une introduction rapide aux puissantes fonctionnalités disponibles dans les types de plages Postgres : Utilisation des plages PostgreSQL avec Laravel 7 Tutoriel recommandé :
Tutoriel LaravelCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!