0

ニュースとカテゴリの2つのエンティティがあります。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

私のサイトは多言語なので、Categoriesにはname_ru、name_en、Newsには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(カテゴリ)をフェッチする必要があります。どうすればそれを達成できますか?

4

2 に答える 2

1

この問題は自分で解決しました。解決策は次のとおりです: article.0.category.nameEn

于 2012-12-23T14:30:20.333 に答える
0

値/オブジェクトが正しく設定されているかどうかを確認することを忘れないでください。そうしないと、その場合に問題が発生する可能性があります。

symfony/Twig はそれについて非常に厳格です。

于 2012-12-27T15:24:46.047 に答える