luxifer / doctrine-functions
Doctrine DQL 函数用于 MySQL
1.6.0
2017-12-21 14:04 UTC
Requires
- doctrine/orm: >=2.2.3
Requires (Dev)
- phpunit/phpunit: ^6.0
README
此包包含 doctrine 函数,您可以通过分叉它并提交带有您自己函数的拉取请求来贡献。可用的函数列表
DATE(expr)
DATEDIFF(expr1, expr2)
DAYOFWEEK(expr)
WEEK(expr)
DAY(expr)
DAYOFMONTH(expr)
DAYOFYEAR(expr)
HOUR(expr)
MINUTE(expr)
MONTH(expr)
QUARTER(expr)
SECOND(expr)
TIME(expr)
YEAR(expr)
CONVERT_TZ(expr, 'from_tz', 'to_tz')
(MySQL)DATE_FORMAT(expr, 'format')
(MySQL)CONCAT_WS(separator, str1, str2, ...)
(MySQL)RAND()
(MySQL)MD5(expr)
(MySQL, Postgres)FROM_UNIXTIME(expr1, expr2)
(MySQL)
在您的拉取请求中编辑此文件以将您的函数添加到列表中。
需求
该库预期与 PHP >= 5.3 一起工作,但您应考虑升级到 PHP >= 7.0。要为此库贡献力量,您必须拥有 PHP >= 7.0 以运行测试套件。
安装
只需将包添加到您的 composer.json
{ "require": { "luxifer/doctrine-functions": "^1.5" } }
集成
1) 仅 Doctrine
根据Doctrine 文档,您可以这样注册本包中的函数。
<?php $config = new \Doctrine\ORM\Configuration(); $config->addCustomDatetimeFunction('date', 'Luxifer\DQL\Datetime\Date'); $em = EntityManager::create($dbParams, $config);
2) 使用 Symfony 2
使用 Symfony 2,您可以直接在 config.yml
文件中注册您的函数。
doctrine: orm: entity_managers: default: dql: datetime_functions: date: Luxifer\DQL\Datetime\Date datediff: Luxifer\DQL\Datetime\DateDiff # etc