如何在twig symfony 2中访问另一个连接表中的列

时间:2012-12-23 13:54:07

标签: php symfony doctrine-orm twig

我有两个实体 - 新闻,类别。使用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 %}

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

Symfony / Twig对此非常严格。