0
我在symfony2/doctrine2項目中創建了以下實體(學校和電路),其中包含多對一(包含一個或多個學校的電路)雙向關係。 這裏是Schoool.orm.yml和circuit.orm.yml定義學說夾具數據加載 - 插入缺失的值
我試圖加載相應的數據固定爲每個這樣的實體,如下圖所示:
//Circuit Fixture
public function load(ObjectManager $em) {
$newCirco = new Circonscription();
$newCirco->setId(1);
$newCirco->setLibelle('Circuit1');
$em->persist($newCirco);
$em->flush();
$this->addReference('circo1', $newCirco);
}
//School Fixture
public function load(ObjectManager $em) {
//Ecoles - Circo 1
$ecole = new Etablissement();
$ecole->setRne('0310211L');
$ecole->setCirconscription($em->merge($this->getReference('circo1')));
$ecole->setLibelle('FRANCE');
$ecole->setAdresse('6 AVENUE DE Test');
$ecole->setTelphone('05xxxxxxxx');
$ecole->setEmail('[email protected]');
$em->persist($ecole);
$em->flush();
$this->addReference('ecole', $ecole);
}
然而,我從學說NotNullConstraintViolationException
相關完整性侵犯。
An exception occurred while executing 'INSERT INTO etablissement (rne, libe
lle, adresse, telphone, email, circo_id) VALUES (?, ?, ?, ?, ?, ?)' with pa
rams ["0310241U", null, null, null, null, null]:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'libelle' cann
ot be null
儘管該值已在燈具中定義。 什麼可能是此錯誤的來源?或爲什麼由教義生成的插入不包含值?
爲什麼與'$這個 - does'it工作> getReference() '而不是對象管理器?只爲了解 –
它的工作原理是因爲你的類擴展了'AbstractFixture':'抽象夾具類有助於管理夾具類之間的引用,以便設置其他夾具之間的關係' – scoolnico