我有这个实体:
class Partido
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Project\Bundle\AdminBundle\Entity\Jornada", inversedBy="partidos")
* @ORM\JoinColumn(name="temporada_id", referencedColumnName="id")
**/
private $jornada;
/**
* @ORM\OneToOne(targetEntity="Project\Bundle\AdminBundle\Entity\Equipo")
* @ORM\JoinColumn(name="equipo1_id", referencedColumnName="id")
*/
private $equipo1;
/**
* @ORM\OneToOne(targetEntity="Project\Bundle\AdminBundle\Entity\Equipo")
* @ORM\JoinColumn(name="equipo2_id", referencedColumnName="id")
*/
private $equipo2;
当我生成数据库时,equipo1
和equipo2
是唯一的密钥,为什么?
CREATE TABLE IF NOT EXISTS `partido` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`temporada_id` int(11) DEFAULT NULL,
`equipo1_id` int(11) DEFAULT NULL,
`equipo2_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_4E79750B8D588AD` (`equipo1_id`),
UNIQUE KEY `UNIQ_4E79750B1A602743` (`equipo2_id`),
KEY `IDX_4E79750B6E1CF8A8` (`temporada_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;
我不希望它们成为唯一的密钥..
答案 0 :(得分:1)
你的专栏加入了Equipo实体“ManyToOne”:
/**
* @ORM\ManyToOne(targetEntity="Project\Bundle\AdminBundle\Entity\Equipo")
* @ORM\JoinColumn(name="equipo1_id", referencedColumnName="id")
*/
private $equipo1;
/**
* @ORM\ManyToOne(targetEntity="Project\Bundle\AdminBundle\Entity\Equipo")
* @ORM\JoinColumn(name="equipo2_id", referencedColumnName="id")
*/
private $equipo2;