2013-02-27 36 views
0

我得到這個錯誤:指數在一個沒有找到一個ASSOCATION教義2

Notice: Undefined index: userTrack in C:\Program Files (x86)\Zend\Apache2\htdocs 
\app\vendor\doctrine\orm\lib\Doctrine\ORM\Internal\Hydration\ObjectHydrator.php on line 110 

File.php:

/** 
* @ORM\OneToOne(targetEntity="JJ\MainBundle\Entity\UserTrack", mappedBy="file", fetch="EAGER") 
* @JMS\Expose 
*/ 
protected $user_track; 

UserTrack.php:

/** 
* @ORM\OneToOne(targetEntity="JJ\MainBundle\Entity\File", inversedBy="user_track", fetch="EAGER") 
*/ 
protected $file; 

我可以生成entite罰款。 我可以更新我的模式。 什麼給?

編輯:

public function findRandomByUser(User $user) 
{ 
    $pointer = rand(0, $user->getFiles()->count() - 1); 
    $query = $this->getEntityManager()->createQuery(" 
      SELECT f 
      FROM MainBundle:File f 
      WHERE f.user = :user 
     ") 
     ->setMaxResults(1) 
     ->setFirstResult($pointer) 
     ->setParameters(array(
      'user' => $user->getId() 
     )); 
    return $query->getSingleResult(); 
} 
+0

你能揭露哪些代碼觸發了這個問題嗎?什麼是堆棧跟蹤? – Ocramius 2013-02-27 18:07:38

+0

@Ocramius添加了部分 – Tjorriemorrie 2013-02-27 19:41:42

+0

您是否使用'doctrine:validate-schema'驗證了所有的映射? – Ocramius 2013-02-27 19:49:31

回答

3

(僅使用ORM作爲獨立時orm:validate-schema)請確認與doctrine:validate-schema命令架構。

UnitOfWork和內部通常會出現這樣的問題,因爲無效映射,拼寫錯誤和ORM由於驗證步驟的性能影響導致ORM未在運行時驗證的錯誤。