ily*_*oli 6 symfony doctrine-orm
我正在使用doctrine2和symfony2,我正在尝试执行一个简单的选择查询:
我想跑:
SELECT * FROM table WHERE status in (1, -1)
Run Code Online (Sandbox Code Playgroud)
这个PHP代码:
$queryBuilder = $this->_em->createQueryBuilder();
$queryBuilder
->select('n')
->from('MyBundle:Table', 'n')
->where('n.status IN (1, -1)');
return $queryBuilder->getQuery()->getResult();
Run Code Online (Sandbox Code Playgroud)
给出以下例外:
[Syntax Error] line 0, col 96: Error: Expected Literal, got '-'
Run Code Online (Sandbox Code Playgroud)
这是实体中的属性定义:
/**
* @var integer
*
* @ORM\Column(name="status", type="integer", nullable=true)
*/
private $status;
Run Code Online (Sandbox Code Playgroud)
如果我在in参数中仅使用正数,它将起作用.例外情况只发生在负数上.
是什么导致这个例外?
Syb*_*bio 12
应该做的诀窍:
$queryBuilder = $this->_em->createQueryBuilder();
$queryBuilder
->select('n')
->from('MyBundle:Table', 'n')
->where('n.status IN (:status)')
->setParameter('status', array(1, -1));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18399 次 |
| 最近记录: |