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でも何も見つかりませんでした。

前もって感謝します

4

1 に答える 1

4

私は自分でエラーを見つけました...行

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

である必要があります

$tree = $em->getRepository('CmsBundle:CmsPages')->loadTree();
于 2012-07-21T10:52:09.377 に答える