7

我是 symfony2 的新手,我正在尝试创建自定义存储库类并且无法做到。

这是我正在做的事情:

  • 我在实体类( MobilePhones )中添加了注释

@ORM\Entity(repositoryClass="Maak\DefaultBundle\Entity\MobilePhonesRepository")

  • 在 MobilePhonesRepository 我创建了名为findAllMobilePhones()

  • 在控制器中,我使用以下方法调用函数:

$em->getRepository('MaakDefaultBundle:MobilePhones')->findAllMobilePhones();

但我明白Undefined method findAllMobilePhones()了,我已经清除了缓存并尝试了同样的错误。怎么了?

我的存储库类:

<?php

namespace Maak\DefaultBundle\Entity;
use Doctrine\ORM\EntityRepository;

class MobilePhonesRepository extends EntityRepository
{
    public function findAllMobilePhones()
    {
        return $this->getEntityManager()->createQuery('SELECT p FROM AcmeStoreBundle:Product p ORDER BY p.name ASC') ->getResult();
    }
}
4

1 回答 1

2

感谢所有人的时间。最后我找到了问题所在。

我决定调试整个项目,发现repository-class没有在要在元数据中设置的 XMLDriver 中设置customRepositoryName。这是因为我使用的是 XML 映射,并且我repositoryClass使用 Annotations 来提供这个实体。

再次感谢:)

于 2013-03-03T08:58:57.520 回答