当前位置 : 主页 > 编程语言 > 其它开发 >

Laravel 7 如何支持 PosgreSQL 范围类型

来源:互联网 收集:自由互联 发布时间:2021-08-14
由 @belamov 编写的 PosgreSQL 范围类型 软件包为 Postgres 数据库提供了范围类型支持: Schema::create(table, function (Blueprint $table) { $table-id(); // ... $table-dateRange(date_range); $table-timestampRange(timestam

由 @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 的 PostgresGrammarPostgresConnection 类可为范围列提供流畅的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 范围类型中可用的强大功能:在Laravel 7 中使用PostgreSQL Ranges。

推荐教程:《Laravel教程》

以上就是Laravel 7 如何支持 PosgreSQL 范围类型的详细内容,更多请关注自由互联其它相关文章!

网友评论