私はSymfony2のでdoctrine2使用していると私は、単純な選択クエリを実行しようとしています:Doctrine2 [構文エラー]エラー:予想されるリテラルは、得た「 - 」
私が実行したい:
SELECT * FROM table WHERE status in (1, -1)
をこのPHPコード:
$queryBuilder = $this->_em->createQueryBuilder();
$queryBuilder
->select('n')
->from('MyBundle:Table', 'n')
->where('n.status IN (1, -1)');
return $queryBuilder->getQuery()->getResult();
は、次の例外を与える:
[Syntax Error] line 0, col 96: Error: Expected Literal, got '-'
これは、エンティティ内の属性の定義である:
/**
* @var integer
*
* @ORM\Column(name="status", type="integer", nullable=true)
*/
private $status;
私はin
引数内のみ正の数を使用している場合は、それが動作します。例外は負の数でのみ発生します。
この例外の原因は何ですか?
ダッシュは許可されていません。ダッシュを取り除くか、負の数をパラメータに分解します。 –