ScalarExpression ::= SimpleArithmeticExpression | StringPrimary | DateTimePrimary |
StateFieldPathExpression | BooleanPrimary | CaseExpression |
EntityTypeExpression
public ScalarExpression ( ) : mixed | ||
return | mixed | One of the possible expressions or subexpressions. |
/** * @param Parser $parser */ public function parse(Parser $parser) { $parser->match(Lexer::T_IDENTIFIER); $parser->match(Lexer::T_OPEN_PARENTHESIS); $this->char = $parser->ScalarExpression(); $parser->match(Lexer::T_COMMA); $this->times = $parser->ScalarExpression(); $parser->match(Lexer::T_CLOSE_PARENTHESIS); }
/** * Parse function * * @param \Doctrine\ORM\Query\Parser $parser Parser * * @return void */ public function parse(\Doctrine\ORM\Query\Parser $parser) { $parser->match(\Doctrine\ORM\Query\Lexer::T_IDENTIFIER); $parser->match(\Doctrine\ORM\Query\Lexer::T_OPEN_PARENTHESIS); try { $this->ifThen = $parser->FunctionDeclaration(); } catch (\Doctrine\ORM\Query\QueryException $e) { $this->ifThen = $parser->ScalarExpression(); } $parser->match(\Doctrine\ORM\Query\Lexer::T_COMMA); try { $this->ifElse = $parser->FunctionDeclaration(); } catch (\Doctrine\ORM\Query\QueryException $e) { $this->ifElse = $parser->ScalarExpression(); } $parser->match(\Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS); }
/** * {@inheritdoc} */ public function parse(Parser $parser) { $parser->match(Lexer::T_IDENTIFIER); $parser->match(Lexer::T_OPEN_PARENTHESIS); $this->fieldName = $parser->Literal()->value; $parser->match(Lexer::T_COMMA); $this->column = $parser->ScalarExpression(); $parser->match(Lexer::T_COMMA); $this->valueIndex = (int) $parser->Literal()->value; $parser->match(Lexer::T_COMMA); $this->strategy = (int) $parser->Literal()->value; $parser->match(Lexer::T_CLOSE_PARENTHESIS); }