在Symfony2存储库中访问自定义查询

时间:2013-07-01 04:53:45

标签: php symfony doctrine dql

这是我获取随机产品的查询:

 public function getRelatedProducts()
  {
    $em = $this->getDoctrine()->getManager();
        $max = $em->createQuery('SELECT MAX(p.id) FROM GlassShopBundle:Product p')->getSingleScalarResult();
        return $em->createQuery('SELECT q FROM GreenMonkeyDevGlassShopBundle:Product p WHERE p.id >= :rand ORDER BY p.id ASC')
            ->setParameter('rand',rand(0,$max))
            ->setMaxResults(1)
            ->getSingleResult()
            ->getResults(); 
    }

我得到一个Undefined method 'getRelatedByCategory'. The method name must start with either findBy or findOneBy!错误,对我来说很奇怪,因为其他查询对我有用,而且我并没有真正偏离。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

可能是被叫函数名称中的拼写错误。名为getRelatedProducts的方法,您调用getRelatedByCategory