1

我需要显示一个表格,例如 4 列,我有一个包含不同信息的 Palmares 实体。

如何将另一个 sql 表中的数据放在同一个循环中,其他信息与 palmares.categorie.code 链接这是我的模板的一部分与 html.twig

{% for palmares in palmares %}
<tr>
 <td>{{palmares.categorie.code}}</td>
 <td>other information from another table</td>
 <td>{{palmares.compet.date |date("m/d/Y")}}</td>
 <td>{{palmares.compet.lieu}}</td>
</tr>
{% endfor %}

编辑 :

例如,我有实体 Palmares,具有变量 $code 整数的实体类别。如果我在 twig 中显示 palmares.categorie.code 它会显示整数。

我有一个带有可变代码的其他类 OtherInformation,它与 palmares.categorie.code 链接

我的 PalmaresRepository 具有如下功能:

public function getPalmares(int $id)
    {
        return $this->createQueryBuilder('p')
            ->where('p.saison = :date')
            ->andWhere('p.club = :id')
            ->setParameter('date', date("Y"))
            ->setParameter('id', $id)
            ->getQuery()
            ->getResult();
    }
4

1 回答 1

0

如果信息链接到您的成绩单,您可以简单地加入它以简单地在 TWIG 中获取它(在带有查询生成器的代码下方,但如果您愿意,也可以使用 DQL):

/* /src/Repository/PalmaresRepository.php */
public function getPalmaresWithJoinedEntity()
{
  $qb = $this
    ->createQueryBuilder('p')
    ->leftJoin('p.joinedField', 'j')
    ->addSelect('j')
  ;

  return $qb
    ->getQuery()
    ->getResult()
  ;
}
/* /templates/your_template.html.twig */
{# ... #}
{{ palmares.joinedProperty.someField }}

请注意,您不必强制加入存储库以获取连接的数据,您可以简单地更改模板而不加入,但您将面临 N+1 问题(您将获得每个手掌的额外查询,以获取每个连接的属性.)

于 2020-06-30T12:57:34.670 回答