我看到了Doctrine“LIKE”查询主题的主要帖子(例如,参见this one)。我有一个SYmfony2应用程序。在控制器中,我调用实体存储库来进行查询。特别是,在实体存储库中,我定义了以下函数:
return $this->getEntityManager()
->createQuery("SELECT p FROM AcmePromoBundle:Promo p
JOIN p.product pr
WHERE pr.name LIKE 'La'")->getResult();
它有效,但不会返回任何内容,因为没有Product( pr ),因此其名称为La。 然后,我尝试在SQL查询中添加%字符,如下所示:
"SELECT p FROM AcmePromoBundle:Promo p JOIN p.product pr WHERE pr.name LIKE 'La%'"
在这里:
"SELECT p FROM AcmePromoBundle:Promo p JOIN p.product pr WHERE pr.name LIKE La%"
但返回以下错误“类true不存在”。 我也尝试使用“ setParameter ”功能,但它不起作用!有什么想法吗?
答案 0 :(得分:0)
现在它有效!我只在所有实体类中添加了 __ toString 函数!例如:
public function __toString(){
return '\Acme\PromoBundle\Entity\Promo';
}