This package contains doctrine functions, you can contribute by forking it and propose pull request with your own functions. List of available functions:
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)
Edit this file in your pull request to add your functions to the list.
This library is expected to work with PHP >= 5.3, but you should consider to upgrade to PHP >= 7.0. To contribute to this library you must have PHP >= 7.0 to run the test suite.
Just add the package to your composer.json
{
"require": {
"luxifer/doctrine-functions": "^1.5"
}
}According to the Doctrine documentation you can register the functions in this package this way.
<?php
$config = new \Doctrine\ORM\Configuration();
$config->addCustomDatetimeFunction('date', 'Luxifer\DQL\Datetime\Date');
$em = EntityManager::create($dbParams, $config);With Symfony 2 you can register your functions directly in the config.yml file.
doctrine:
orm:
entity_managers:
default:
dql:
datetime_functions:
date: Luxifer\DQL\Datetime\Date
datediff: Luxifer\DQL\Datetime\DateDiff
# etc


