0

次のエラーが表示されます。

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

ファイル.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;

エンティティを正常に生成できます。スキーマをうまく更新できます。何を与える?

編集:

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();
}
4

1 に答える 1

3

doctrine:validate-schemaコマンドを使用してスキーマを検証してください( orm:validate-schemaORM のみをスタンドアロンとして使用する場合)。

および内部でのこのような問題は、UnitOfWork通常、無効なマッピング、タイプミス、および検証ステップのパフォーマンスへの影響のために実行時に ORM が検証しない一般的な間違いが原因で発生します。

于 2013-02-28T11:17:20.440 に答える