我有两个实体 - 新闻,类别。使用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)。我怎样才能实现它?
答案 0 :(得分:1)
我自己解决了这个问题。解决方案是: articles.0.category.nameEn
答案 1 :(得分:0)
不要忘记检查值/对象是否设置正确。 否则,在这种情况下您可能会遇到问题。
Symfony / Twig对此非常严格。