Doctrine2 [语法错误]错误:预期文字,得到' - ' [英] Doctrine2 [Syntax Error] Error: Expected Literal, got '-'

查看:138
本文介绍了Doctrine2 [语法错误]错误:预期文字,得到' - '的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用doctrine2与symfony2,我正在尝试执行一个简单的选择查询:



我想运行:


$ b (1,-1)

这个PHP代码:

  $ queryBuilder = $ this-> _em-> createQueryBuilder(); 
$ queryBuilder
- > select('n')
- > from('MyBundle:Table','n')
- > where('n。状态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;

如果我只使用中的正数>论证,它会奏效。



什么原因导致这个异常?

解决方案

应该做的诀窍:

  $ queryBuilder = $ this-> _em-> createQueryBuilder(); 
$ queryBuilder
- > select('n')
- > from('MyBundle:Table','n')
- > where('n。状态IN(:status)')
- > setParameter('status',array(1,-1));


I am using doctrine2 with symfony2 and I am trying to perform a simple select query:

I want to run:

SELECT * FROM table WHERE status in (1, -1)

This PHP code:

$queryBuilder = $this->_em->createQueryBuilder();
        $queryBuilder
        ->select('n')
        ->from('MyBundle:Table', 'n')
        ->where('n.status IN (1, -1)');
return $queryBuilder->getQuery()->getResult();

Gives the following exception:

[Syntax Error] line 0, col 96: Error: Expected Literal, got '-'

This is the attribute definition within the entity:

/**
 * @var integer
 *
 * @ORM\Column(name="status", type="integer", nullable=true)
 */
private $status;

If I use only positive numbers within the in argument, it will work. The exception only happens with negative numbers.

What causes this exception?

解决方案

Should do the trick :

$queryBuilder = $this->_em->createQueryBuilder();
        $queryBuilder
        ->select('n')
        ->from('MyBundle:Table', 'n')
        ->where('n.status IN (:status)')
        ->setParameter('status', array(1, -1));

这篇关于Doctrine2 [语法错误]错误:预期文字,得到' - '的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆