翻译后排序查询

时间:2014-04-09 16:41:43

标签: symfony doctrine-orm translation

我做了一个查询。没事。我可以很好地列出我的类别。但我确实有几种语言。我的db的结果是英文的。在html.php-template中翻译后,如何对结果进行排序。或者我必须在行动中做到这一点吗?

当然,我在symfony2中的翻译如下所示:$this->get('translator')->trans('title.imprint')

感谢您的提示!

2 个答案:

答案 0 :(得分:0)

您可以使用twig sort函数,它会像php asort函数一样对您的查询进行排序。另一种方法是使用TwigExtension。有了这个,你可以创建自己的过滤器。

答案 1 :(得分:0)

我想回答我自己的问题,所以有人可能会使用它。我使用usort和strcmp。

$categories_db = $this->em->getRepository('FrontendContentBundle:CategoriesAllocation')
                        ->findBy(array('state' => $state_id,
                            'module' => $module_id
                        ));

    usort($categories_db, function($a, $b) {
        return strcmp($this->translator->trans($a->getCategory()->getCategory(), array(), 'categories'), $this->translator->trans($b->getCategory()->getCategory(), array(), 'categories'));
    });