0

我已经看到有关 Doctrine “LIKE” 查询主题的主要帖子(例如,参见这个)。我有一个 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%" 

但返回以下错误“ Class true 不存在”。我也尝试使用“ setParameter ”功能,但它不起作用!任何想法?

4

1 回答 1

0

现在它起作用了!我只在所有实体类中添加了__toString函数!例如:

public function __toString(){
    return '\Acme\PromoBundle\Entity\Promo';
}  
于 2012-06-02T15:15:04.350 回答