Yohan Giarelli

Concepteur / Développeur PHP5 / Symfony.
Mangeur de bières.
Technophile.

  1. Snippet : Mysql RAND() pour Doctrine2

    Intégrer la fonction MySQL RAND() à Doctrine2 (Dans ce cas, Random() en DQL) :

    use Doctrine\ORM\Query\AST\Functions\FunctionNode,
        Doctrine\ORM\Query\SqlWalker,
        Doctrine\ORM\Query\Parser,
        Doctrine\ORM\Query\Lexer;
    
    class Random extends FunctionNode
    {
        public function getSql(SqlWalker $sqlWalker)
        {
            return 'RAND()';
        }
    
        public function parse(Parser $parser)
        {
            $parser->match(Lexer::T_IDENTIFIER);
            $parser->match(Lexer::T_OPEN_PARENTHESIS);
            $parser->match(Lexer::T_CLOSE_PARENTHESIS);
        }
    }