我如何在Symfony小枝中创建条件“如果没有属于所选类别的事件”?

hpcdzsge  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(89)

我想显示一个元素,如果没有属于该类别的事件。在登录事件列表之前,用户已经选择了一个类别,以前在搜索表单。
如何编写一个条件"如果没有属于所选类别的事件“?
我尝试了此操作,但最终出现以下错误:

Key "category" for array with keys "0" does not exist.

我在小枝上的代码:

{% if events.category.id != category.id %}

    <a href="#">Comment participer ?</a>

{% endif %}
bq8i3lrv

bq8i3lrv1#

从错误文本中可以看出,您的events变量是一个对象数组,因此您不能在没有循环的情况下在条件中使用.category.id。您需要一个循环来确定事件是否设置为数组中所需的类别,如果不是,则显示您的消息

{% set event_isset = false %}
{% for event in events %}
    {% if event.category.id == category.id %}
        {% set event_isset = true %}
    {% endif %}
{% endfor %}

{% if not event_isset %}
    <a href="#">Comment participer ?</a>
{% endif %}
flvlnr44

flvlnr442#

如果您的事件是一个对象/数组的数组,其中每个对象/数组都有关键字category,则此条件应该有效:

{% if events|filter(e => e.category == category.id)|length == 0 %}
...
{% endif %}

文件https://twig.symfony.com/doc/2.x/filters/filter.html

相关问题