У меня есть 2 объекта, а именно Match and Team. Команда может иметь один-много матчей. Тем не менее, my Match entity consts состоит из 2 полей, которые ссылаются на один и тот же объект Team. Это $ homeTeam и $ awayTeam. Как мне ссылаться на одно и то же поле в командах, $ match, как на двунаправленное отношение?
Мой текущий нерабочий код приведен ниже:
Моя организация:
/** * @ORM\Entity * @ORM\Table(name="match") **/ class Match { /** * @ORM\ManyToOne(targetEntity="Team", inversedBy="matches") * @ORM\JoinColumn(name="home_team_id", referencedColumnName="id") * **/ protected $homeTeam; /** * @ORM\ManyToOne(targetEntity="Team", inversedBy="matches") * @ORM\JoinColumn(name="away_team_id", referencedColumnName="id") * **/ protected $awayTeam;
Моя организация (я ошибаюсь?):
/** * @ORM\Entity * @ORM\Table(name="team") * **/ class Team { /** @ORM\OneToMany(targetEntity="Match", mappedBy="homeTeam", mappedBy="awayTeam") **/ protected $matches;
mappedBy
официальные документы Doctrine : вы не можете добавить несколько столбцов mappedBy
. Вместо этого вы можете выбирать между:
Match
и определите метод getAllMatchesForTeam($team)
$homeMatches
и $awayMatches
+ метод getAllMatches()
для результатов Team
и объединения $homeMatches
и $awayMatches
там Подробнее здесь: