gpt4 book ai didi

doctrine-orm - 使用可翻译的学说和 Symfony 2 形式

转载 作者:行者123 更新时间:2023-12-04 04:45:11 25 4
gpt4 key购买 nike

我的应用程序中有实体,它有 2 个可翻译字段,使用 Doctrine Translatable Extension:

class Page implements Translatable
{
/......

/**
* @var string $name
* @Gedmo\Translatable
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;

/**
* @var text $content
* @Gedmo\Translatable
* @ORM\Column(name="content", type="text")
*/
private $content;

/........
}

我使用一张表进行多个实体翻译。
现在我想用 用于获取这些属性的原始值和翻译值(到 1 种语言)的表单,因此它应该有 4 个字段。

我定义了从 AbstractType 派生的新表单,并尝试使用 FormBuilder 添加这 2 个字段,但它表示它们对应的实体不包含这些字段。我试图将这些字段添加到实体,并为它们声明 getter,但我知道获得实体翻译的唯一方法是使用专用的实体管理器,而 AFAIK 提供实体管理器对实体的访问并不是一个好习惯。

有没有办法使用表单来处理这样的事情?

最佳答案

我知道这是一个老问题,但无论如何。

您可以使用带有属性的 FormBuilder 放置翻译内容的字段:
array('mapped'=>false)
取这样的数据:

$form->get('field_name')->getData();

然后像这样坚持下去

https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/translatable.md#multi-translations

我希望它可以帮助某人。

关于doctrine-orm - 使用可翻译的学说和 Symfony 2 形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7641502/

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