【发布时间】:2016-07-11 09:36:43
【问题描述】:
我只是在学习 Symfony3 和 Twig。不确定我做错了什么,但我有一个数据库表 product,其中包含 'name'、'price' 和 'description' 行。我想简单地将 DB 表转储到 HTML 表中。我做了如下:
树枝:
<table>
{% for product in products %}
<tr>
{% for key,value in product %}
<td>{{ value }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
如果我在第一个 for 循环的开头转储 product,我会得到以下结果:
Product {#330 ▼
-id: 1
-name: "Keyboard"
-price: "19.99"
-description: "Ergonomic and stylish!"
}
但是,key 和 value 都是空的。
【问题讨论】:
-
您正在尝试迭代对象属性,这在默认情况下是不可能的。您需要先将对象转换为数组
-
您似乎是对的,但对于一个让事情变得更简单的系统来说,这似乎也不必要地费力。
-
恕我直言,你不应该循环它的属性。你应该做这样的事情:
{% for product in products %}<h1>{{ product.getName() }}</h1><p>{{ product.getDescription() }}<span class="price">${{ product.getPrice() }}</p>