luxifer / doctrine-functions
Doctrine DQL Functions for Mysql
Installs: 2 025 915
Dependents: 0
Suggesters: 0
Security: 0
Stars: 88
Watchers: 8
Forks: 14
Open Issues: 2
Requires
- doctrine/orm: >=2.2.3
Requires (Dev)
- phpunit/phpunit: ^6.0
README
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.
Requirements
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.
Installation
Just add the package to your composer.json
{ "require": { "luxifer/doctrine-functions": "^1.5" } }
Integration
1) Doctrine Only
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);
2) Using Symfony 2
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