avkluchko/postgres-doctrine-extensions

用于与 PostgreSQL 数据库交互的 Doctrine 扩展

v1.0.0 2019-10-06 14:35 UTC

This package is auto-updated.

Last update: 2024-09-29 05:42:52 UTC


README

Build Status Total Downloads Latest Stable Version License

用于与 PostgreSQL 数据库交互的 Doctrine 扩展

要求

安装

composer require avkluchko/postgres-doctrine-extensions

在 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

使用方法

// 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
        );
    }
}