树枝:动态属性的类型

asd*_*fjk 5 php symfony twig

当前,在索引页面中,我从动态对象和动态属性中显示对象属性的值。

{% for object in objects %}
    <tr>
        {% for property in properties %}
            <td>{{ attribute(object, property) }}</td>
        {% endfor %}                  
    </tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

在这里,对象和属性都是动态的。我将属性的值输出为attribute(object, property)。但是有些属性具有布尔类型。目前,这些布尔属性给出的输出为01。我需要输出noor yes而不是0or 1。我怎样才能做到这一点?

一种选择是找出属性的类型。但是我不知道如何从动态对象和属性中获取属性的类型。

编辑:大多数答案都在考虑所有属性都是布尔类型。但是其中有些是布尔值,有些不是布尔值。

Ale*_*dre 2

使用

您可能需要考虑使用与 Twig 功能相同的功能来实现 Twig 条件语句(可以插入到 Twig 宏中),如下所示:

{% for object in objects %}
    <tr>
        {% for property in properties %}
            {% if attribute(object, property) is same as(true) %}
                <td>yes</td>
            {% elseif attribute(object, property) is same as(false) %}
                <td>no</td>
            {% else %}
                <td>{{ attribute(object, property) }}</td>
            {% endif %}
        {% endfor %}                  
    </tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

正如文档中所述:

检查一个变量是否与另一个变量相同相同。这相当于 PHP 中的 ===