1
我需要一種方法來動態創建關係,我選擇啓動學說的事件時加載類的元數據,loadClassMetadata()主義動態關係不起作用
public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs)
{
$metadata = $eventArgs->getClassMetadata();
$this->em = $eventArgs->getEntityManager();
if ($metadata->getName() != 'AppBundle\Entity\NewsNews') {
return;
}
$attachmentsMetadata = $this->getAttachmentsClassMetadata();
$attachmentsMetadata->mapManyToOne(
[
"targetEntity" => $metadata->getName(),
"fieldName" => "newsNews",
'joinColumns' => array(
array(
'name' => 'foreign_key',
'referencedColumnName' => 'id'
)
),
"inversedBy" => "attachments"
]
);
$attachmentsMetadata->initializeReflection();
$metadata->mapOneToMany(
[
"targetEntity" => $attachmentsMetadata->getName(),
"fieldName" => "attachments",
'joinColumns' => array(
array(
'name' => 'id',
'referencedColumnName' => 'foreign_key'
)
),
"mappedBy" => "newsNews"
]
);
}
好,工作,但問題是,當教條將設置數據爲這種關係,他拋出這個異常「注意:未定義的指數:newsNews」 我已經檢查了類,當學說將附加此數據和newsNews字段丟失反射特性。 如果我忘記了這個過程中的某些部分,我不知道的xD
感謝您的幫助
我不能完全肯定,爲什麼你會需要這個,此外什麼是這種「動態」代碼的目的是什麼? – tftd
我想自動創建自己的應用程序關係,而無需更改包。謝謝 –