dev-master
9999999-dev https://github.com/IAkumaI/doctrine-functionsDoctrine DQL Functions for Mysql
MIT
The Requires
- php >=5.3.3
by Valery Ozarnichuk
database mysql dql
Wallogit.com
2017 © Pedro Peláez
Doctrine DQL Functions for Mysql
This package contains some doctrine functions, (*1)
INSTR(exp1, exp2) - documentation
FIELD(exp1, exp2, exp3, exp4...) - documentation
DATE_FORMAT(field, '%format%') - documentation
DATE(field) - documentation
RAND() - documentation. Remember, you can not use parameters in this function.RANDP(12345) - documentation. This is still RAND() MySQL function, but you must use a number parameter in it.Just add the package to your composer.json, (*2)
{
"require": {
"iakumai/doctrine-functions": "dev-master"
}
}
According to the Doctrine documentation you can register the functions in this package this way., (*3)
<?php
$config = new \Doctrine\ORM\Configuration();
$config->addCustomDatetimeFunction('instr', 'IAkumaI\DQL\Str\Instr');
?>
With symfony 2 you can register yout functions in the config.yml file., (*4)
doctrine:
orm:
entity_managers:
default:
dql:
datetime_functions:
instr: IAkumaI\DQL\Str\Instr
Simple example, usage a DateFormat function:, (*5)
createQuery("SELECT DATE_FORMAT(e.date, '%d.%m.%Y') as df FROM YourBundle:Ent e");
?>
This way you can use DQL function in ORDER statement. For example, order by RAND():, (*6)
createQuery("SELECT e, RAND() as HIDDEN rand FROM YourBundle:Ent e ORDER BY rand");
?>
Doctrine DQL Functions for Mysql
MIT
database mysql dql