我这是相互关联的两个型号:主键+外键与重复输入错误
/** @Entity @Table(name="permissions") */
class Permissions {
/**
* @Id @GeneratedValue @Column(type="integer")
* @var integer
*/
protected $id;
/**
* @Column(type="string")
* @var string
*/
protected $name;
public function getId() { return $this->id; }
public function setName($name) { $this->name = $name; }
public function getName() { return $this->name; }
}
和
/** @Entity @Table(name="permissions_types") */
class PermissionsTypes {
/**
* @Id
* @OneToOne(targetEntity="Permissions")
* @JoinColumn(name="perm_id", referencedColumnName="id")
*/
protected $perm;
/**
* @Id
* @Column(type="integer")
* @var string
*/
protected $type;
/**
* @Column(type="string")
* @var string
*/
protected $name;
public function setType($type) { $this->type = $type; }
public function getType() { return $this->type; }
public function setName($name) { $this->name = $name; }
public function getName() { return $this->name; }
}
当我想要添加到PermissionsTypes两个实体与值:
perm | type | name
-------------------
1 | 0 | test1
1 | 1 | test2
我得到
Duplicate entry '1' for key 'UNIQ_12CF91AFFA6311EF'
错误的第1列。我做错了什么?
你可以为PermissionsTypes表做一个'show create table table_name'吗?看起来你在perm列上有一个唯一的键,当它应该跨越perm和type。 –
是的,我在这个专栏有独特的关键。问题是,它是如何创造的? –
你是如何创建表格模式的?是手动还是自动生成? –