ホームページ >PHPフレームワーク >Laravel >Laravel 7 が PosgreSQL 範囲型をサポートする方法

Laravel 7 が PosgreSQL 範囲型をサポートする方法

Guanhui
Guanhui転載
2020-07-20 12:41:282599ブラウズ

Laravel 7 が PosgreSQL 範囲型をサポートする方法

@belamov によって作成された PosgreSQL 範囲型パッケージは、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)');
});

このパッケージの主な機能は次のとおりです:

  • Laravel の PostgresGrammar クラスと PostgresConnection クラスを拡張して、範囲列に流暢な API を提供します。

  • 次の Postgres 範囲タイプがサポートされています: daterangetsrangenumrangeintrangetimerange

  • 多くの便利なクエリ構築マクロ (例 whereRangeContains($left,$right)

  • モデル属性変換

このパッケージで提供されるモデル属性変換により、モデル インスタンスで範囲を使用する際に便利になります。例:

use Belamov\PostgresRange\Ranges\IntegerRange;

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

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

詳細については、belamov/postgres-range を参照してください。このパッケージについて、完全なインストール手順、および GitHub でソース コードを表示します。このパッケージには、Postgres 範囲タイプで利用できる強力な機能を簡単に紹介する優れたブログ投稿があります:Using PostgreSQL Ranges in Laravel 7 .

推奨チュートリアル: 「Laravel チュートリアル

以上がLaravel 7 が PosgreSQL 範囲型をサポートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。