如果不存在翻译,则Gedmo可翻译扩展不显示原始记录

时间:2014-02-07 09:42:26

标签: symfony translation

我使用gedmo可翻译扩展名为symfony2。

当列出其他语言的记录(不是网站的默认语言)时,如果该记录的翻译不存在,我想不列出。

例如,如果用户已将网站语言更改为英语,但我没有将我的实体翻译为英语,则在列表页面中只显示翻译为英语的记录。

我的代码:

    $qb = $em->createQueryBuilder();
    $qb
        ->select('p')
        ->from('ATLBlogBundle:Blog','p')
        ->where(
            $qb->expr()->eq('p.visible', 1)
        )
        ->setFirstResult($offset)
        ->setMaxResults($limit)
        ->orderBy('p.id','DESC');


    $query = $qb->getQuery();

    $query
        ->setHint(\Gedmo\Translatable\TranslatableListener::HINT_TRANSLATABLE_LOCALE, $request->getLocale())
        ->setHint(\Gedmo\Translatable\TranslatableListener::HINT_FALLBACK, true)
        ->setHint(\Doctrine\ORM\Query::HINT_CUSTOM_OUTPUT_WALKER, 'Gedmo\\Translatable\\Query\\TreeWalker\\TranslationWalker');

    $data["blog"] = $query->getResult();

我该怎么做?

0 个答案:

没有答案