Skip to content

Instantly share code, notes, and snippets.

@desarrolla2
Forked from Ocramius/Rand.php
Created November 28, 2011 11:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save desarrolla2/1400094 to your computer and use it in GitHub Desktop.
Save desarrolla2/1400094 to your computer and use it in GitHub Desktop.
MySQL RAND() function in Doctrine2 DQL
<?php
$config = new \Doctrine\ORM\Configuration();
/** OTHER STUFF */
$config->addCustomNumericFunction('RAND', 'My\Custom\Doctrine2\Function\Rand');
/** CONTINUES */
<?php
namespace My\Custom\Doctrine2\Function;
/**
* RandFunction ::= "RAND" "(" ")"
*/
class Rand extends FunctionNode
{
public function parse(\Doctrine\ORM\Query\Parser $parser)
{
$parser->match(Lexer::T_IDENTIFIER);
$parser->match(Lexer::T_OPEN_PARENTHESIS);
$parser->match(Lexer::T_CLOSE_PARENTHESIS);
}
public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
{
return 'RAND()';
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment