gpt4 book ai didi

symfony - 如何在实体的 toString 方法中返回翻译

转载 作者:行者123 更新时间:2023-12-04 08:49:05 24 4
gpt4 key购买 nike

我有一个实体和一个实体翻译,都像这样。

class Question
{
use ORMBehaviors\Translatable\Translatable;

/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;

public function __toString()
{
return (string) $this->getId();
/** @todo
Return translated title instead of id
**/
}
}

class QuestionTranslation
{
use ORMBehaviors\Translatable\Translation;

/**
* @ORM\Column(type="text")
*/
protected $title;

/**
* @ORM\Column(type="text", nullable=true)
*/
protected $explanation;}
}

我想在我的“__toString”方法中返回此实体的翻译标题,但如何从“QuestionTranslation”访问翻译标题?

最佳答案

我假设您正在使用 KNP 可翻译,因此您可以这样做:

public function __toString() {
if( $title = $this->translate()->getTitle() ) {
return $title;
}

// if no translation has been added, return empty string instead.
return '';
}

我强烈建议您在您的实体中用它自己的方法设置这段代码,而不是 __toString()。之后,你做这样的事情:

print $entity->getTitle(); // which call for the translated title.

您可以将此做法应用于多个翻译字段,而不是依赖于 __toString

关于symfony - 如何在实体的 toString 方法中返回翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29820012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com