0

我有两个实体 - 新闻、类别。使用 DQL,我创建了这样的查询:

SELECT  n,c
FROM    MyDemoBundle:News n
INNER JOIN MyDemoBundle:Category c
WHERE   n.category_id = c.id
    AND c.id = :cid
    AND c.route = :route
    AND c.enabled = 1 
    AND n.status = 1
ORDER BY n.id DESC

我的网站是多语言的,所以我在类别中有 name_ru、name_en 等列,在新闻中有 title_ru、title_en、article_ru、article_en 等。

在 Twig 中,我需要显示文章列表。我可以这样做:

{% for entity in articles %}    
<h2>{{ attribute(entity, 'title' ~ (app.request.attributes.get('_locale')|capitalize)) }}</h2>
<p>{{ attribute(entity, 'article' ~ (app.request.attributes.get('_locale')|capitalize))|raw }}</p>
{% endfor %}

但是,对于我在 twig 中的语言切换器,我需要从结果中获取 name_ru 和 name_en(类别)。我怎样才能实现它?

4

2 回答 2

1

自己解决了这个问题。解决方案是:articles.0.category.nameEn

于 2012-12-23T14:30:20.333 回答
0

不要忘记检查值/对象是否设置正确。否则,您可能会在这种情况下遇到问题。

Symfony/Twig 对此非常严格。

于 2012-12-27T15:24:46.047 回答