Doctrine子查询错误:预期=,<,< =,<>,>,> =,!=,得到'LIKE'

时间:2016-12-20 08:15:20

标签: php mysql doctrine-orm symfony

我遇到DQL问题。 我的SQL查询看起来像:

public class Requirements
{
    public string EventMessageUId { get; set; }
    public int ProjectId { get; set; }
    public string CreatedByUser { get; set; }
    public string CreatedByApp { get; set; }        
    public string CreatedOn { get; set; }

    private Message _Message = new Message();
    public Message Message  { get { return this._Message ; } set { this._Message = value; } }

}
public class Message
{
   public string StoryID { get; set; }
   public string StoryDesc { get; set; }
}

我尝试将此查询转移到doctrine:

SELECT COUNT(c.id) FROM company c WHERE (SELECT MIN(u.surname) FROM contact u WHERE u.company_id = c.id) LIKE '%a%'

但是这次抛出

  

QueryException:[语法错误]第0行,第136栏:错误:预期=,<,< =,<>,>,> =,!=,得到'LIKE''

如果我将$this->getDoctrine()->getManager() ->getRepository('XYZBundle:Company') ->createQueryBuilder('c') ->select('COUNT(c.id)') ->where("(SELECT MIN(u.surname) FROM XYZBundle:Contact u where u.id = c.id) LIKE '%a%'") ->getQuery() ->getResult(); 更改为LIKE '%a%',一切正常,但我需要喜欢。为什么这个查询不起作用?

0 个答案:

没有答案
相关问题