0

私はoneToMany関係を作成しようとしています。Doctrineはそれを使用してManyToOne一方向imのみを提供するため。どういうわけか、マッピングの検証が失敗し、間違いを見つけることができません。

検証エラー:

[マッピング]FAIL-エンティティクラスの'Strego\ TippBundle \ Entity \ BetRound'マッピングが無効です:*関連付けStrego \ TippBundle \ Entity \ BetRound#userStatusは、所有側のフィールドStrego \ TippBundle \ Entity \ UserBetRoundStatus#betRoundを参照しています。存在しない。

私の最初のエンティティ(BetRound):

<?php 
namespace Strego\TippBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

use Doctrine\Common\Collections\Collection as Collection;
use Strego\AppBundle\Entity\Base as BaseEntity;


/**
 * Strego\TippBundle\Entity\BetRound
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class BetRound extends BaseEntity {

    //......

    /**
     *
     * @var Collection
     * @ORM\OneToMany(targetEntity="UserBetRoundStatus", mappedBy="betRound", cascade={"all"})
     */
    protected $userStatus;

}

私の関連エンティティ(UserBetRoundStatus)

<?php
namespace Strego\TippBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Strego\AppBundle\Entity\Base as BaseEntity;

/**
 * Strego\TippBundle\Entity\Game
 *
 * @ORM\Table
 * @ORM\Entity
 * @UniqueEntity(fields={"user", "betRound"}, message="Unique Entity Validator Fails for UserStatus", groups="unique")
 * 
 */
class UserBetRoundStatus extends BaseEntity {
    // .....

    /*
     * @var BetRound
     * @ORM\ManyToOne(targetEntity="BetRound", inversedBy="userStatus")
     * @ORM\JoinColumn(name="betround_id", referencedColumnName="id", nullable=false)
     * @Assert\NotNull()
     */
    protected $betRound;
}
4

1 に答える 1

2

私は問題を見つけました:

/**  <---------  you need two *
 * @var BetRound
 * @ORM\ManyToOne(targetEntity="BetRound", inversedBy="userStatus")
 * @ORM\JoinColumn(name="betround_id", referencedColumnName="id", nullable=false)
 * @Assert\NotNull()
 */
protected $betRound;
于 2013-01-28T20:35:49.777 に答える