Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2自定义存储库类_Php_Symfony_Doctrine Orm_Repository_Entity - Fatal编程技术网

Php Symfony2自定义存储库类

Php Symfony2自定义存储库类,php,symfony,doctrine-orm,repository,entity,Php,Symfony,Doctrine Orm,Repository,Entity,我是symfony2的新手,我正在尝试创建自定义存储库类,但无法做到这一点 以下是我正在做的: 我向实体类(MobilePhone)添加了注释 @ORM\Entity(repositoryClass=“Maak\DefaultBundle\Entity\MobilePhonesRepository”) 在MobilePhonesRepository中,我创建了名为findAllMobilePhones()的自定义函数 在控制器中,我使用以下命令调用函数: $em->getReposito

我是symfony2的新手,我正在尝试创建自定义存储库类,但无法做到这一点

以下是我正在做的:

  • 我向实体类(MobilePhone)添加了注释
@ORM\Entity(repositoryClass=“Maak\DefaultBundle\Entity\MobilePhonesRepository”)

  • 在MobilePhonesRepository中,我创建了名为
    findAllMobilePhones()的自定义函数

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

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

但我得到了
未定义的方法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();
    }
}

感谢大家抽出时间。我终于找到了问题所在

我决定调试整个项目,发现XMLDriver中没有设置
存储库类
,而要在元数据中设置
customRepositoryName
。这是因为我使用的是XML映射,而对于这个实体,我使用注释提供了
repositoryClass


再次感谢:)

echo得到什么类($em->getRepository('MaakDefaultBundle:MobilePhones'))
返回?您还可以为MobilePhonesRepository提供类文件吗?它返回条令\ORM\entityrepository这实际上与条令2相关,因此您应该用
doctrine2
标记您的问题,以获得最大曝光率。您还可以将存储库代码放入问题中,以便易于阅读。您是否100%确定已清除元数据缓存?您的注释看起来不错,如果在元数据中设置了
customRepositoryName
,如果无法正确实例化,则会出现异常。如果它仍然不工作,请在第750行中放置一个
var\u dump($metadata)
,并向我们显示输出。