Sonata Admin - 如何将翻译添加到一个字段并获取对象的 getID?
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();
}
这会创建一个新的汽车对象并将其保存到我的数据库中,并且工作正常,但是在我调用的这部分代码和翻译函数中需要将 NAME 字段的翻译添加到我的翻译中table 德语
/**
* {@inheritdoc}
*/
public function addTranslation(Translation $translation)
{
$translation->setLocale('de');
$translation->setField('name');
$translation->setContent('FixedGermanName');
$this->translations[] = $translation;
return $this;
}
这也有效,但我无法获取 objectId,所以我在数据库中的翻译 table 与我创建的对象的 id 没有关联,我有一个函数
$carsEvent->getId();
但总是return NULL
我的问题是如何获取对象 ID,以便我也可以将该值存储在我的数据库中?
解决方案:
/**
* {@inheritdoc}
*/
public function addTranslation(Translation $translation)
{
$translation->setLocale('de');
$translation->setField('name');
$translation->setObject($translation);
$translation->setContent('FixedGermanName');
$this->translations[] = $translation;
return $this;
}
我的代码:
public function create($object): void
{
/** @var CarsEvent $object */
$carsEvent = $object;
$em = $this->getEntityManager($carsEvent );
$carsEvent->addTranslation(new CarsEventTranslation());
$em->persist($sportsEvent);
$em->flush();
}
这会创建一个新的汽车对象并将其保存到我的数据库中,并且工作正常,但是在我调用的这部分代码和翻译函数中需要将 NAME 字段的翻译添加到我的翻译中table 德语
/**
* {@inheritdoc}
*/
public function addTranslation(Translation $translation)
{
$translation->setLocale('de');
$translation->setField('name');
$translation->setContent('FixedGermanName');
$this->translations[] = $translation;
return $this;
}
这也有效,但我无法获取 objectId,所以我在数据库中的翻译 table 与我创建的对象的 id 没有关联,我有一个函数
$carsEvent->getId();
但总是return NULL
我的问题是如何获取对象 ID,以便我也可以将该值存储在我的数据库中?
解决方案:
/**
* {@inheritdoc}
*/
public function addTranslation(Translation $translation)
{
$translation->setLocale('de');
$translation->setField('name');
$translation->setObject($translation);
$translation->setContent('FixedGermanName');
$this->translations[] = $translation;
return $this;
}