gpt4 book ai didi

php - 在 TWIG 中渲染多维数组

转载 作者:行者123 更新时间:2023-12-04 00:35:59 25 4
gpt4 key购买 nike

我正在通过 3 个表(“用户”、“客户”、“帐户”)获取关联对象。 “User”与“Client”是一对多的关系,“Client”与“Account”是一对多的关系。我使用以下代码获取一个特定“用户”的所有“帐户”:

$qb = $this->getDoctrine()->getManager()->createQueryBuilder()
->select('u, c, a')
->from('AcmeUserBundle:User', 'u')
->leftJoin('u.clients', 'c')
->leftJoin('c.accounts', 'a')
->where('u.id = :id');

$user = $qb->getQuery()
->setParameter('id', $id)
->getOneOrNullResult();

我将 $user 数组传递给 TWIG 模板,但找不到正确的循环来检索“$user”数组中包含的所有帐户。实现这一目标的最佳方法是什么?在 Controller 中应该做什么与​​在 TWIG 中应该做什么?你能给我一个可行的代码示例吗?我查看了这个答案,但未能应用给定的指导 How to get values from a multidimensional array in Twig?

最佳答案

$user 不是一个数组,它是一个单独的对象,这可能是您不能循环遍历它的原因。你可以试试

$users = $qb->getQuery()
->getlResults();

$twig->render('template.twig', array('users' => $users));

在 template.twig 中

{% for user in users %}
{{ dump(user) }}
{% endfor %}

有关转储的更多信息:http://twig.sensiolabs.org/doc/functions/dump.html

然后可能:

{% for user in users %}
<h1>User: {{ user.id }}</h1>
list clients:<br/>
{% for client in user.clients %}
<div>
<h2>Client: {{ client.id }}</h2>
{{ dump(client) }}
List accounts:<br/>
{% for account in user.accounts %}
<div>
<h3>Account: {{ account.id }}</h3>
{{ dump(account) }}
</div>
{% endfor %}
</div>
{% endfor %}
{% endfor %}

关于php - 在 TWIG 中渲染多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29062673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com