我有一个实体类别,它有一个代码。此代码是内部代码,我们为每种语言使用翻译它。例如,想象一下:
Categories:
---- id:1 Code: "Bread"
---- id:2 Code: "Butter"
我有一个带有表单字段实体的表单。我想通过翻译标签订购。
以英文为例,会显示
Bread
Butter
但是以法语为例,顺序不同
Beurre (butter)
Pain (bread)
所以我不能使用实体字段的orderBy。
我有一个手工制作的解决方案,很脏:我使用带有翻译标签的选择字段
$categories_translated =array();
$categories= $this->em->getRepository('MyRepo')->findAll();
foreach($categories as $category){
$categories_translated[$category->getId()]= $this->translator->trans($category);
}
asort($categories_translated);//sorted
//then later
$builder->add('category','choice',array( 'choices' => $choices_technologies) )
你有正确的方法来做到这一点吗?