我正在使用与 symfony2 一起使用的学说 2,并且我正在尝试执行一个简单的选择查询:
我想跑:
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
,它会起作用。例外只发生在负数上。
是什么导致了这个异常?