实体/存储库中的Class_parents错误

时间:2012-07-21 10:37:28

标签: php doctrine-orm symfony-2.1

在我正在开发并正常工作的软件包中,我添加了一项新功能,其中包括向实体添加存储库。现在,当我执行新添加的方法时,我收到以下错误:

  

警告:class_parents()[function.class-parents]:类CmsPages不存在且无法加载到/Applications/MAMP/htdocs/symfony-standard-2.1/vendor/doctrine/common/lib/Doctrine/ Common / Persistence / Mapping / RuntimeReflectionService.php第40行

新添加的代码是:

控制器:

/**
 * Returns an json formated tree
 * 
 * @Route("/getTree", name="admin_cmsPages_getTree", options={"expose"=true})
 */
public function getTreeAction()
{

    $em = $this->getDoctrine()->getManager();
    $tree = $em->getRepository('CmsPages')->loadTree();


    $response = new Response(json_encode( $tree ));
    $response->headers->set('Content-Type', 'application/json');

    return $response;
}

存储库:

namespace Yanic\CmsBundle\Entity;

use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\NoResultException;

class CmsPagesRepository extends EntityRepository
{
    public function loadTree()
    {
        $q = $this
            ->createQueryBuilder('p')
            ->select('p')
            ->orderBy( 'p.lft' )
            ->getQuery()
            ;

        return $q->getArrayResult();
    }
}

这就是所有改变的......如果需要更多代码来澄清,我会发布它。

所以有人能告诉我我做错了什么吗?我在SO和Google上都找不到任何东西。

提前致谢

1 个答案:

答案 0 :(得分:4)

我刚刚发现错误......行

$tree = $em->getRepository('CmsPages')->loadTree();

必须是

$tree = $em->getRepository('CmsBundle:CmsPages')->loadTree();