1

我在树枝模板中有双倍:

<table>
   {% for user in users %}
      <tr>
         {% for field in fields %}
            <td>{{ user.{{field}}  }}</td>
         {% endfor %}   
      </tr>
   {% endfor %} 
</table>

这可以做到吗?{{ user.{{field}} }}的正确语法是什么?

4

2 回答 2

3

属性函数执行此操作,它可用于访问变量的“动态”属性:

<table>
   {% for user in users %}
      <tr>
         {% for field in fields %}
            <td>{{ attribute(user,field) }}</td>
         {% endfor %}   
      </tr>
   {% endfor %} 
</table>

所以正确的语法是{{ attribute(user,field) }} ,在这里阅读文档

于 2012-10-03T21:51:55.133 回答
0

如果用户与字段是一对多的关系(即一个用户可以有多个字段),并且在 ORM 映射和实体中是这样定义的(即User实体有一个getFields()方法,它返回一个实体集合Field),那么你可以这样做:

<table>
   {% for user in users %}
      <tr>
         {% for field in user.fields %}
            <td>{{ field }}</td>
         {% endfor %}   
      </tr>
   {% endfor %} 
</table>

但如果情况并非如此,那么它可能有助于更多地描述用户与其字段之间的关系。

于 2012-10-03T21:36:54.843 回答