我收到此错误:
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;
我可以很好地生成entites。 我可以更新我的架构。 是什么给了什么?
编辑:
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 :(得分:3)
请仅使用ORM作为独立的doctrine:validate-schema
命令(orm:validate-schema
)验证您的架构。
UnitOfWork
和内部的问题通常是由于无效的映射,拼写错误以及ORM在运行时未验证的错误,因为验证步骤的性能影响。