Skip to content

IAkumaI/doctrine-functions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Doctrine Functions

This package contains some doctrine functions

String functions

DateTime functions

Math functions

  • 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.

Installation

Just add the package to your composer.json

{
    "require": {
        "iakumai/doctrine-functions": "dev-master"
    }
}

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('instr', 'IAkumaI\DQL\Str\Instr');
?>

2) Using Symfony 2

With symfony 2 you can register yout functions in the config.yml file.

doctrine:
    orm:
        entity_managers:
            default:
                dql:
                    datetime_functions:
                        instr: IAkumaI\DQL\Str\Instr

Usage

Simple example, usage a DateFormat function:

<?php
use Doctrine\ORM\EntityManager;

// EntityManager
$em->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():

<?php
use Doctrine\ORM\EntityManager;

// EntityManager
$em->createQuery("SELECT e, RAND() as HIDDEN rand FROM YourBundle:Ent e ORDER BY rand");
?>

About

Additional DQL functions for Doctrine2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages