mb-tec/doctrineextensions

此包已被 弃用 且不再维护。未建议替代包。

Doctrine 2 的一系列扩展,添加了对 MySQL 和 Oracle 中可用的一些额外查询函数的支持。

v1.0.19 2017-10-02 17:29 UTC

README

Build Status Build Status Build Status Travis branch Build Status Travis branch

Packagist Packagist Packagist Packagist Packagist

Doctrine 2 的一系列扩展,添加了对 MySQL、Oracle、Sqlite 和 PostgreSQL 中可用的一些额外查询函数的支持。

数据库 函数
MySQL ACOS, AES_DECRYPT, AES_ENCRYPT, ANY_VALUE, ASCII, ASIN, ATAN, ATAN2, BINARY, BIT_COUNT, BIT_XOR, CEIL, CHAR_LENGTH, COLLATE, CONCAT_WS, CONVERT_TZ, COS, COT, COUNTIF, CRC32, DATE, DATE_FORMAT, DATEADD, DATEDIFF, DATESUB, DAY, DAYNAME, DAYOFWEEK, DAYOFYEAR, DEGREES, DIV, EXP, EXTRACT, FIELD, FIND_IN_SET, FLOOR, FROM_UNIXTIME, GREATEST, GROUP_CONCAT, HEX, HOUR, IFELSE, IFNULL, LAST_DAY, LEAST, LOG, LOG10, LOG2, LPAD, MATCH, MD5, MINUTE, MONTH, MONTHNAME, NOW, NULLIF, PI, POWER, QUARTER, RADIANS, RAND, REGEXP, REPLACE, ROUND, RPAD, SECOND, SECTOTIME, SHA1, SHA2, SIN, SOUNDEX, STD, STDDEV, STRTODATE, STR_TO_DATE, SUBSTRING_INDEX, TAN, TIME, TIMEDIFF, TIMESTAMPADD, TIMESTAMPDIFF, TIMETOSEC, UNHEX, UNIX_TIMESTAMP, UTC_TIMESTAMP, UUID_SHORT, VARIANCE, WEEK, WEEKDAY, YEAR, YEARMONTH, YEARWEEK
Oracle DAY, LISTAGG, MONTH, NVL, TO_CHAR, TO_DATE, TRUNC, YEAR
Sqlite DATE, MINUTE, HOUR, DAY, WEEK, WEEKDAY, MONTH, YEAR, STRFTIME, DATE_FORMAT*, CASE WHEN THEN ELSE END, IFNULL, REPLACE, ROUND
PostgreSQL TO_DATE, TO_CHAR, AT_TIME_ZONE, COUNT_FILTER, STRING_AGG

注意: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 beberlei/DoctrineExtensions

如果您想运行测试

vendor/bin/phpunit

要包含 DoctrineExtensions,您应该启动一个自动加载器,例如

<?php

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

您可以在 config/mysql.yml 中找到使用额外的 MySQL 函数的示例配置。

旧版本

如果您仍在使用 0.10.3 中可用的 Paginator、LargeCollections、Phing、PHPUnit 或 Versionable 行为,欢迎使用 0.3 – 但请注意,此功能现在已包含在 Doctrine 核心中,不再支持此库,并在 1.0 中已删除

虽然会考虑为该功能的 bug 修复提出拉取请求,但鼓励您切换实现并升级到 ~1.0。