我尝试使用复合主键(3个主键)创建三元关系:
所以我有这些实体:Club($ id),Sport($ id)和PlayerSingle($ id)
如何与学说建立三元关系?
我尝试创建此实体(Club__Sport__Player_Single),但在phpmyadmin中,只有id属性和这3个主键。
/**
* Club__Sport__Player_Single
*
* @ORM\Table(name="club__sport__player_single")
* @ORM\Entity(repositoryClass="Club__Sport__Player_Single_danseRepository")
*/
class Club__Sport__Player_Single
{
/**
* @var int
*
* @ORM\Id
* @ORM\ManyToOne(targetEntity="Club")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id", referencedColumnName="id")
* })
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $club_id;
/**
* @var int
*
* @ORM\ManyToOne(targetEntity="Sport")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id", referencedColumnName="id")
* })
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $sport_id;
/**
* @var int
*
* @ORM\ManyToOne(targetEntity="PlayerSingle")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id", referencedColumnName="id")
* })
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $playerSingle_id;
...
}
为什么在phpmyadmin中,我只有id属性和3个属性(club_id,sport_id,playerSingle_id)??
答案 0 :(得分:1)
我的建议是,为主键使用标准的自动生成的id,并且还包括具有组合的唯一索引的三个外键。它看起来更好,并具有相同的结果。
希望这对你有所帮助。