Doctrine 查询条件没有 select 所需的语言

Doctrine query condition doesn't select desired language

我在我的 Symfony2 项目中使用了 doctrine。我做了一个查询,以某种语言获取我的所有项目,但它 returns 我所有的语言:

public function rechercherProjets($lang, $cat)
    {

        return $qb = $this->createQueryBuilder('p')
            ->innerJoin ('p.descriptions', 'pi') 
            ->innerJoin('p.categories', 'c')
            ->where('c.tag = :cat')
            ->andWhere('pi.langue = :lang')
            ->setParameters(array('lang'=>$lang,'cat'=>$cat))
            ->getQuery()->getResult();

    }

奇怪的是,->where('c.tag = :cat') 工作得很好,但是 ->andWhere('pi.langue = :lang') 使得当我尝试在我的 twig 模板中显示我的项目时,它真的很奇怪.基本上,我用这个:

{% for projet in projets %}
            <article class="projet">
                <a href="{{ path('portfolio_public_projet',{'tag':projet.tag}) }}">
                    <img src="{{ asset("bundles/public/projets/vignettes/"~ projet.image) }}" alt="paranorium">
                    <h2>{{ projet.descriptions[0].nom }}</h2>
                    <div class="infoReduit">
                        <p>{{ projet.descriptions[0].descriptionCours }}</p>
                    </div>
                    <div class="infoTotal">
                        <p>{{ projet.descriptions[0].descriptionComplete }}</p>
                        <p>{% trans %}role{% endtrans %}: {{ projet.descriptions[0].roles }}</p>
                        <p>{% trans %}technologie{% endtrans %}: {{ projet.technologie }}</p>
                        <p>{% trans %}aptitude{% endtrans %}: {{ projet.descriptions[0].aptitudesDeveloppees }}</p>
                    </div>
                    <b>{% trans %}realisation{% endtrans %} {{ projet.annee }}</b>
                </a>
            </article>   
        {% endfor %}

projet.description[0]实际上包含了我的项目的第一语言(法语)信息,projet.description[1]包含了我的项目的第二语言(英语)的信息.我想要的是我的请求 returns me a projet.description 只包含 1 个东西,这是我要求的语言。

或者我做错了,如果是这样,如何正确做?

调用 createQueryBuilder('p') 将在 p 上添加 select 语句,它象征着 repo 链接到的实体。

如果您想 select 超出实体范围的任何内容,则需要使用 addSelect('yourentity.attribute') 使 selection 显式化。