[英]Sonata Admin - how to add Translation to one field and getID of the object?
我的代碼:
public function create($object): void
{
/** @var CarsEvent $object */
$carsEvent = $object;
$em = $this->getEntityManager($carsEvent );
$carsEvent->addTranslation(new CarsEventTranslation());
$em->persist($sportsEvent);
$em->flush();
}
這將創建一輛新車 object 並將其保存到我的數據庫中,並且工作正常,但是在這部分代碼中我正在調用和翻譯 function 需要將 NAME 字段的翻譯添加到我的德語翻譯表中
/**
* {@inheritdoc}
*/
public function addTranslation(Translation $translation)
{
$translation->setLocale('de');
$translation->setField('name');
$translation->setContent('FixedGermanName');
$this->translations[] = $translation;
return $this;
}
這也有效,但我無法獲取 objectId,因此我在數據庫中的翻譯表與我創建的 object 的 id 沒有連接,我有一個 function
$carsEvent->getId();
但總是返回 NULL
我的問題是如何獲取 object id,以便我也可以將該值存儲在我的數據庫中?
解決方案:
/**
* {@inheritdoc}
*/
public function addTranslation(Translation $translation)
{
$translation->setLocale('de');
$translation->setField('name');
$translation->setObject($translation);
$translation->setContent('FixedGermanName');
$this->translations[] = $translation;
return $this;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.