0
學說2實體的實體具有複合鍵:學說2 - 持續複合鍵
/**
* @Entity
*/
class Test
{
/**
* @Id
* @Column (type="integer", length=11, name="id")
*
*/
protected $id = null;
/**
* @Id
* @Column (type="integer", length=11, name="idtwo")
*
*/
protected $idtwo = null;
public function setIdTwo($id)
{
$this->idtwo = $id;
}
public function setId($id)
{
$this->id = $id;
}
}
保存實體
$test = new Test();
$test->setId(1);
$test->setIdTwo(1);
$em->persist($test);
DB表:
CREATE TABLE `Bella_Test` (
`id` int(11) NOT NULL,
`idtwo` int(11) NOT NULL,
PRIMARY KEY (`id`,`idtwo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
預期結果:將一行添加到帶有兩個ID字段的數據庫表中,其值爲1.
實際結果:沒有行被添加到數據庫表中。沒有例外被拋出。
問題:發生了什麼事?
你叫'$ EM->的flush()' – rojoca 2011-04-18 02:49:09
使用複合材料的PK,確保他們的工作在理論上很好,但你有沒有嘗試過刪除從來不喜歡或更新一個?該應用程序需要知道這兩個值,而不是一個PK,應用程序只需要知道一個ID。 – 2011-12-01 01:00:10