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