kar*_*s7e 5 symfony doctrine-orm
我在我的应用程序中有实体,它有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;
/........
}
Run Code Online (Sandbox Code Playgroud)
我使用一个表进行多个实体翻译.现在我想使用一个表单来获取这些属性的原始和翻译(到1种语言)值,因此它应该有4个字段.
我已经定义了从AbstractType派生的新表单,并尝试使用FormBuilder添加这两个字段,但它表示它们对应的实体不包含这些字段.我试图将这些字段添加到实体,并为它们声明getter,但我知道获得实体翻译的唯一方法是使用专用实体管理器和AFAIK提供实体管理器访问实体不是好习惯.
有没有办法使用表单来处理这样的事情?
小智 2
我知道这是一个老问题,但无论如何。
您可以使用带有属性的 FormBuilder 放置翻译内容的字段:
array('mapped'=>false)
像这样获取数据:
$form->get('field_name')->getData();
Run Code Online (Sandbox Code Playgroud)
然后像这样坚持下去
https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/translatable.md#multi-translations
我希望它对某人有帮助。
| 归档时间: |
|
| 查看次数: |
1404 次 |
| 最近记录: |