avkluchko / postgres-doctrine-extensions

PostgreSQL extension for Doctrine2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Postgres Doctrine Extensions

Build Status Total Downloads Latest Stable Version License

Doctrine extensions for working with PostgreSQL database

Requirements

Installation

composer require avkluchko/postgres-doctrine-extensions

Add the necessary extensions in the doctrine.yaml:

doctrine:
    orm:
        dql:
            string_functions:
                cast: AVKluchko\PostgresDoctrineExtensions\DQL\Cast
                date_part: AVKluchko\PostgresDoctrineExtensions\DQL\DatePart
                make_date: AVKluchko\PostgresDoctrineExtensions\DQL\MakeDate
                to_char: AVKluchko\PostgresDoctrineExtensions\DQL\ToChar

Usage

// src/Filters/SomeFilter.php
public class SomeFilter
{
    // ...
    protected function createCondition(string $year, string $field, string $operator, string $parameterName): string
    {
        return sprintf(
            'make_date(%s, cast(date_part(\'month\', %s) as integer), cast(date_part(\'day\', %s) as integer)) %s :%s',
            $year,
            $field,
            $field,
            $operator,
            $parameterName
        );
    }
}

About

PostgreSQL extension for Doctrine2

License:MIT License


Languages

Language:PHP 100.0%