我使用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();
我该怎么做?