簡體   English   中英

Symfony2-在錯誤的位置尋找實體類?

[英]Symfony2 - Looking for entity class in wrong place?

我有兩個實體,用戶和課程。

用戶是Sonata用戶的擴展,位於

Application\Sonata\UserBundle\Entity\User

課程在我自己的捆綁包“ LessonBundle”中

每節課均由用戶擁有,在現場指導下:

class Lesson
{
    /**
     * @ORM\ManyToOne(targetEntity="Application\Sonata\UserBundle\Entity\User", inversedBy="lessons")
     * @ORM\JoinColumn(name="tutor_id", referencedColumnName="id")
     */
    protected $tutor;

/**
     * Set tutor
     *
     * @param \Application\Sonata\UserBundle\Entity\User $tutor
     * @return Lesson
     */
    public function setTutor(\Application\Sonata\UserBundle\Entity\User $tutor = null)
    {
        $this->tutor = $tutor;

        return $this;
    }

    /**
     * Get tutor
     *
     * @return \Application\Sonata\UserBundle\Entity\User 
     */
    public function getTutor()
    {
        return $this->tutor;
    }
}

我設置了一個表單,可以為用戶成功添加課程,但是當我嘗試訪問課程列表時:

$repository = $this->getDoctrine()
                        ->getRepository('LessonBundle:Lesson');

//Problem is triggered here
$lessons = $repository->findAll();

我收到以下錯誤:

Class LessonBundle\Entity\User does not exist

堆棧跟蹤

 in /home/dan/sites/mysite/vendor/doctrine/orm/lib/Doctrine/ORM/Proxy/ProxyFactory.php 

在第233行-+} //如果(($ paramClass = $ param-> getClass())!== null){$ parameterString。='\\',我們也需要選擇類型提示類。 $ paramClass-> getName()。 ''; } else if($ param-> isArray()){$ parameterString。='array'; 在第233行的/home/dan/sites/mysite/vendor/doctrine/orm/lib/Doctrine/ORM/Proxy/ProxyFactory.php中的ReflectionParameter-> getClass()-在ProxyFactory-> _ generateMethods(object(ClassMetadata))在/home/dan/sites/mysite/vendor/doctrine/orm/lib/Doctrine/ORM/Proxy/ProxyFactory.php中的第155行-+在ProxyFactory-> generateProxyClass(object(ClassMetadata),'/ home / dan / sites / mysite / app / cache / dev / doctrine / orm / Proxies / CG _LessonBundleEntitySubject.php','; / ** *該類由文檔ORM生成。請勿編輯此文件。* /類擴展\\實現\\ Doctrine \\ ORM \\ Proxy \\ Proxy {私人$ _entityPersister;私人$ 標識符;公共$ _isInitialized =假;公共函數構造($ entityPersister,$ identifier){$ this-> _ entityPersister = $ entityPersister; $ this-> _ identifier = $ identifier; } / ** @private * /公共函數_ load(){if(!$ this-> _isInitialized && $ this- > _ entityPersister){$ this-> isInitialized = true; if(method_exists($ this,“ wakeup”) ){//將此事稱為 r _ isInitialized _以避免無限遞歸//但要在加載之前模擬ClassMetadata :: newInstance()//提供的內容。 $ this-> __ wakeup(); }如果($ this-> _ entityPersister-> load($ this-> _ identifier,$ this)=== null){拋出新\\ Doctrine \\ ORM \\ EntityNotFoundException(); } unset($ this-> _ entityPersister,$ this-> _ identifier); }} / ** @private * /公共函數_ isInitialized(){返回$ this-> _isInitialized ; } public function sleep(){} public function _ clone(){if(!$ this-> _isInitialized && $ this- > _ entityPersister){$ this-> isInitialized = true; $ class = $ this-> _ entityPersister-> getClassMetadata(); $ original = $ this-> _ entityPersister-> load($ this-> _ identifier); 如果($ original === null){拋出新\\ Doctrine \\ ORM \\ EntityNotFoundException(); } foreach($ class-> reflFields as $ field => $ reflProperty){$ reflProperty-> setValue($ this,$ reflProperty-> getValue($ original)); } unset($ this-> _ entityPersister,$ this-> _ identifier); }}}')在/home/dan/sites/mysite/vendor/doctrine/orm/lib/Doctrine/ORM/Proxy/ProxyFactory.php中的第90行-+在ProxyFactory-> getProxy('LessonBundle \\ Entity \\ Subject' ,在/home/dan/sites/mysite/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php的/ home / dan / sites / mysite / vendor / doctrine / orf /第2576行-在UnitOfWork-> createEntity(' LessonBundle \\ Entity \\ Lesson',array('id'=>'1','date'=> object(DateTime),'time'=> object(DateTime),'objective'=>'test','created_at' => object(DateTime),'updated_at'=> object(DateTime),'tutor_id'=>'1','service_id'=>'1','trip_id'=>'1','subject_id'=>' 1','location_id'=>'1'),array('deferEagerLoads'=> true,'fetchMode'=> array('LessonBundle \\ Entity \\ Lesson'=> array('tutor'=>'2','服務'=>'2','行程'=>'2','主題'=>'2'))))))在/ home / dan / sites / mysite / vendor / doctrine / orm / lib / Doctrine / ORM中/Internal/Hydration/SimpleObjectHydrator.php在第135行-+在SimpleObjectHydrator-> hydrateRowData(array('id1'=>'1','date2'=>'2013-02-09','time3'=> '00 :00:00 ','objective4'=>'測試','created_at5'=>'2013-02-09 12:19:27','updated_at6'=>'2013-02-09 12:19:27','tutor_id7' =>'1','service_id8'=>'1','trip_id9'=>'1','subject_id10'=>'1','location_id11'=>'1'),array('id1'=> array('class'=> object(ClassMetadata),'name'=>'id','field'=> true),'date2'=> array('class'=> object(ClassMetadata),'name'= >'date','field'=> true),'time3'=> array('class'=> object(ClassMetadata),'name'=>'time','field'=> true),'objective4' => array('class'=> object(ClassMetadata),'name'=>'objective','field'=> true),'created_at5'=> array('class'=> object(ClassMetadata),'name '=>'created_at','field'=> true),'updated_at6'=> array('class'=> object(ClassMetadata),'name'=>'updated_at','field'=> true),' tutor_id7'=> array('name'=>'tutor_id'),'service_id8'=> array('name'=>'service_id'),'trip_id9'=> array('name'=>'trip_id'), 'subject_id10'=>數組( DEEP NESTED ARRAY ),'location_id11'=> array( DEEP NESTED ARRAY )) ,第50行的/home/dan/sites/mysite/vendor/doctrine/orm/lib/Doctrine/ORM/Internal/Hydration/SimpleObjectHydrator.php中的array()--在/ home /中的SimpleObjectHydrator-> hydrateAllData() dan / sites / mysite / vendor / doctrine / orm / lib / Doctrine / ORM / Internal / Hydration / AbstractHydrator.php在第111行-+在AbstractHydrator-> hydrateAll(object(PDOStatement),object(ResultSetMapping),array('deferEagerLoads '=> true))在/home/dan/sites/mysite/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php中,第848行-+在BasicEntityPersister-> loadAll(array(),null, null,null)在/home/dan/sites/mysite/vendor/doctrine/orm/lib/Doctrine/ORM/EntityRepository.php中的第157行-+在EntityRepository-> / home / dan /中的findBy(array())第141行的sites / mysite / vendor / doctrine / orm / lib / Doctrine / ORM / EntityRepository.php-在EntityRepository的++-> / home / dan / sites / mysite / src / LessonBundle / Controller / LessonController.php中的findAll()在第21行-+在LessonController->在call_user_func_a的listAction() rray(kernel.root_dir / bootstrap.php.cache在第1426行的Array(object(LessonController),'listAction'),array())-+在HttpKernel的-> handleRaw(在內核中的object(Request),'1')第1390行的.root_dir / bootstrap.php.cache-在HttpKernel處的+->句柄(object(Request),'1',true)在kernel.root_dir / bootstrap.php.cache的第1566行-+在HttpKernel->的句柄第617行的kernel.root_dir / bootstrap.php.cache中的(object(Request),'1',true)-內核處的+-// home / dan / sites / mysite / web /中的handle(object(Request))第29行的app_dev.php-+

我不確定為什么要在LessonBundle中尋找User類而不是Application \\ Sonata \\ UserBundle。

任何建議表示贊賞。

謝謝

找到了。 在完全不同的課程中,錯誤的位置引用了該課程!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM