如何在 twig symfony 中显示不同 table 的信息?

How to display information of different table in twig symfony?

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

如何将来自另一个sql table的数据放在同一个循环中,其他信息与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 整数。如果我在树枝中显示 palmares.categorie.code 它会显示整数。

我有另一个 class 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();
    }

如果信息链接到您的成绩单,您可以简单地加入它以在 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 问题(您将获得每个 palmares 的额外查询,让每个人加入 属性.)