我的代碼:
public function create($object): void
{
/** @var CarsEvent $object */
$carsEvent = $object;
$em = $this->getEntityManager($carsEvent );
$carsEvent->addTranslation(new CarsEventTranslation());
$em->persist($sportsEvent);
$em->flush();
}
這會創建一個新的汽車物件并將其保存到我的資料庫中,這作業正常,但是在我呼叫的這部分代碼和翻譯函式中,需要將 NAME 欄位的翻譯添加到我的德語翻譯表中
/**
* {@inheritdoc}
*/
public function addTranslation(Translation $translation)
{
$translation->setLocale('de');
$translation->setField('name');
$translation->setContent('FixedGermanName');
$this->translations[] = $translation;
return $this;
}
這也有效,但我無法獲取 objectId,所以我在資料庫中的翻譯表與我創建的物件的 id 沒有連接,我有一個函式
$carsEvent->getId();
但總是回傳NULL
我的問題是如何獲取物件 id 以便我也可以將該值存盤在我的資料庫中?
uj5u.com熱心網友回復:
解決方案:
/**
* {@inheritdoc}
*/
public function addTranslation(Translation $translation)
{
$translation->setLocale('de');
$translation->setField('name');
$translation->setObject($translation);
$translation->setContent('FixedGermanName');
$this->translations[] = $translation;
return $this;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/398318.html
