使用 Symfony 和 Twig 循环

我有两个 for 循环。一个包含表中所有数据的数组,另一个包含一个数组,其中外键是第一个数组中的表。


我想看看有多少匹配项并检查它,但循环不起作用。


{% if comunidades %}

     {% for comunidad in comunidades %}

          {% if likes %}

               {{ likes[0].comunidad.id }}

               {{ likes[1].comunidad.id }}

               --{{ comunidad.id }}--

               {% if comunidad.id in likes|keys %}

                    OK

               {% endif %}

          {% endif %}

     {% endfor %}

{% endif %}

这打印: 1 3 --3-- 1 3 --2-- 1 3 --1-- OK


谢谢


梵蒂冈之花
浏览 110回答 1
1回答

qq_遁去的一_1

因为 likes 数组的 key 是一个对象。您应该只使用对象的 id 来使用地图过滤器,例如:{% for comunidad in comunidades %}          {% if likes %}               {{ likes[0].comunidad.id }}               {{ likes[1].comunidad.id }}               --{{ comunidad.id }}--               {% if comunidad.id in likes|map(p => p.comunidad.id)  %}                    OK               {% endif %}          {% endif %}     {% endfor %}输出将是:    13--3--        OK            13--2--            13--1--        OK所以只有第一个和最后一个元素会匹配
打开App,查看更多内容
随时随地看视频慕课网APP