我這是相互關聯的兩個型號:主鍵+外鍵與重複輸入錯誤
/** @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。 –
是的,我在這個專欄有獨特的關鍵。問題是,它是如何創造的? –
你是如何創建表格模式的?是手動還是自動生成? –