Bly*_*yde 8 php orm doctrine-orm
我有2个实体,即Match和Team.一个团队可以拥有一对多的匹配.但是,我的Match实体包含两个引用同一实体Team的字段.他们是$ homeTeam和$ awayTeam.如何将Team,$ matches中的相同字段作为双向关系引用?
我目前的非工作代码如下:
我的匹配实体:
/**
* @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;
Run Code Online (Sandbox Code Playgroud)
我的团队实体(我猜错了吗?):
/**
* @ORM\Entity
* @ORM\Table(name="team")
* **/
class Team {
/** @ORM\OneToMany(targetEntity="Match", mappedBy="homeTeam", mappedBy="awayTeam") **/
protected $matches;
Run Code Online (Sandbox Code Playgroud)
在探索Doctrine的官方文档后:您无法添加多个mappedBy列.除此之外,您可以选择:
Match并定义方法getAllMatchesForTeam($team) $homeMatches和$awayMatches+方法getAllMatches()上Team和工会的结果$homeMatches和$awayMatches有在这里阅读更多: