3 namespace UVd\DoctrineFunction;
5 use Doctrine\ORM\Query\Lexer;
6 use Doctrine\ORM\Query\AST\Functions\FunctionNode;
11 * Allows Doctrine 2.0 Query Language to execute a MySQL SOUNDEX function
12 * You must boostrap this function in your ORM as a DQLFunction.
15 class Soundex extends FunctionNode
17 public $stringExpression = null;
18 public function parse(\Doctrine\ORM\Query\Parser $parser)
20 $parser->match(Lexer::T_IDENTIFIER);
21 $parser->match(Lexer::T_OPEN_PARENTHESIS);
22 $this->stringExpression = $parser->StringPrimary();
23 $parser->match(Lexer::T_CLOSE_PARENTHESIS);
25 public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
28 $this->stringExpression->dispatch($sqlWalker) .