Laravel Packages

Postgres Range Type Support for Laravel 7

Published
Postgres Range Type Support for Laravel 7 image

The PosgreSQL range types package by @belamov provides range type support to Eloquent for the Postgres database:

Schema::create('table', function (Blueprint $table) {
$table->id();
// ...
$table->dateRange('date_range');
$table->timestampRange('timestamp_range');
$table->floatRange('float_range');
// for int4range
$table->integerRange('integer_range');
// for int8range
$table->bigIntegerRange('integer_range');
 
// you can add any modifications
// $table->dateRange('date_range')->nullable();
// $table->dateRange('date_range')->default('[2010-01-01,2010-01-02)');
});

The main features of this package include:

  • Extended Laravel’s PostgresGrammar and PostgresConnection classes to provide a fluent API for range columns
  • Support for the following Postgres range types: daterange, tsrange, numrange, intrange, and timerange.
  • A number of query build macros for convenience (i.e., whereRangeContains($left, $right)
  • Model property casting

The model property casting provided by this package provides convenience for working with ranges on model instances. For example:

use Belamov\PostgresRange\Ranges\IntegerRange;
 
$range = new IntegerRange(10, 20, '[', ')');
 
$range->from(); // 10
$range->to(); // 20
(string) $range; // [10,20)
$range->forSql(); // '[10,20)'

You can learn more about this package, get full installation instructions, and view the source code on GitHub at belamov/postgres-range. The package has an excellent blog post to bring you up to speed on the powerful features available in Postgres’ range types: Ranges in Laravel 7 using PostgreSQL.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Laravel Auditor Audits Your App With Your Own AI Agent image

Laravel Auditor Audits Your App With Your Own AI Agent

Read article
A simple form builder that stays out of your way image

A simple form builder that stays out of your way

Read article
Laravel AI: Trace Agent Runs With Lifecycle Events image

Laravel AI: Trace Agent Runs With Lifecycle Events

Read article
Laravel AI: Get Raw HTTP Responses and Rate Limits image

Laravel AI: Get Raw HTTP Responses and Rate Limits

Read article
Agent Run Observability in Laravel AI SDK 0.11 image

Agent Run Observability in Laravel AI SDK 0.11

Read article
Debounced Queued Event Listeners in Laravel image

Debounced Queued Event Listeners in Laravel

Read article