【问题标题】:Need help on a Twig issue with associative arrays在关联数组的 Twig 问题上需要帮助
【发布时间】:2016-02-13 12:58:41
【问题描述】:

我的控制器在一个名为“请愿”的变量中向 Twig 发送以下关联数组;

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [doctype] => "somedoc"
            [nrdoc] => "99"
            [datadoc] => "2015-01-01"
        )
    [1] => stdClass Object
        (
            [id] => 2
            [doctype] => "otherdoc"
            [nrdoc] => "100"
            [datadoc] => "2015-01-01"
        )
)

然后,在我的 Twig 模板(视图)中,我正在这样做:

    {% for id in petition %}

        {% if id.doctype == 'somedoc' %}
            {{id.nrdoc}} / {{id.datadoc}}
        {% else %}
                UNDEFINED!
        {% endif %}

    {% endfor %}

问题是我无法弄清楚如何输出“未定义!”的逻辑。只有一次,如果 doctype != "somedoc" 当数组中有其他 key->value 元素时。我这样做的方式,它将输出“未定义!”每次脚本循环...

提前感谢您的帮助

加布里埃尔

【问题讨论】:

    标签: arrays loops twig logic associative


    【解决方案1】:

    一种变体是为此定义一个额外的变量:

    {% set undefined = false %}
    
    {% for id in petition %}
        {% if id.doctype == 'somedoc' %}
            {{ id.nrdoc }} / {{ id.datadoc }}
        {% else %}
            {% set undefined = false %}
        {% endif %}
    {% endfor %}
    
    {% if undefined == true %}
        UNDEFINED!
    {% endif %}
    

    您可以阅读有关设置 Twig 变量的更多信息here

    【讨论】:

    • 谢谢你,chapay!如果我在 php 中执行此操作,我会按照类似的逻辑执行此操作。不幸的是,我是 Twig 的新手,我不知道它实际上可以在模板中定义变量!你拯救了我的一天:)...是的,我知道...应该在文档中阅读过它...:)
    • @GabrielMaftei 欢迎您!如果您认为它有帮助,请采纳答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-25
    • 1970-01-01
    相关资源
    最近更新 更多