我需要显示一个表,例如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 integer的实体Categorie。 如果我在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();
}
如果信息链接到您的palmares上,您可以简单地在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的附加查询,以获取每个连接的属性)