regnartson/doctrineextensions

Doctrine 2 的一组扩展,增加了对 MySQL、MsSQL 和 Oracle 中可用的一些额外查询函数的支持。

v1.2.4 2019-10-15 13:02 UTC

README

Doctrine 2 的一组扩展,增加了对 MsSQL、MySQL、Oracle、PostgreSQL 和 SQLite 中可用函数的支持。

注意:Sqlite 日期函数实现为 strftime(format, value)。Sqlite 只支持最常见的格式,所以 date_format 将将 mysql 替换转换为最接近的 sqlite 替换。这意味着 date_format(field, '%b %D %Y') -> Jan 1st 2015 变为 strftime('%m %d %Y', field) -> 01 01 2015

安装

要安装此库,运行以下命令并将获取最新版本

composer require regnartson/doctrineextensions

如果你要运行 phpunit

make test

如果你要运行 php-cs-fixer

make fix  # (or make lint for a dry-run)

使用方法

如果你在使用 DoctrineExtensions 与 Symfony,请阅读如何注册自定义 DQL 函数

你可以在这里找到使用 DoctrineExtensions 自定义 DQL 函数的示例 Symfony 配置。

如果你独立使用 DoctrineExtensions,你可能需要启动自动加载器

<?php

$classLoader = new \Doctrine\Common\ClassLoader('DoctrineExtensions', '/path/to/extensions');
$classLoader->register();

更多信息请参阅Doctrine DQL 用户定义函数的文档。

备注

  • MySQL 的 DATE_ADD 在 DQL 中可用为 DATEADD(CURRENT_DATE(), 1, 'DAY')
  • MySQL 的 DATE_SUB 在 DQL 中可用为 DATESUB(CURRENT_DATE(), 1, 'DAY')
  • MySQL 的 IF 在 DQL 中可用为 IFELSE(field > 0, 'true', 'false')