Twig循环遍历数组“。”

时间:2015-03-24 05:13:26

标签: php mysql arrays twig

我正在尝试创建一个循环来显示有关MYSQL数据库中的产品的信息。我正在使用MeekroDB并且必须执行JOIN查询以获取单个数组中的所有数据:

$result = DB::queryFullColumns("SELECT * FROM PRODUCT, CATEGORY WHERE product.categoryID = category.ID");
$app->render('product_list.html.twig', array('products' => $result, ));

我从操作中得到了这个数组:

array(2) { [0]=> array(8) 
{ ["PRODUCT.ID"]=> string(1) "2" ["PRODUCT.categoryID"]=> string(2) 
    "17" ["PRODUCT.name"]=> string(7) "Pants 1" ["PRODUCT.description"]=> 
    string(23) "These are pants number1" ["PRODUCT.image_path"]=> string(0) 
    "" ["PRODUCT.price"]=> string(5) "10.00" ["CATEGORY.ID"]=> string(2) 
    "17" ["CATEGORY.name"]=> string(5) "Pants" } [1]=> array(8) { 
    ["PRODUCT.ID"]=> string(1) "3" ["PRODUCT.categoryID"]=> string(2) "17" 
    ["PRODUCT.name"]=> string(7) "Pants 1" ["PRODUCT.description"]=> 
    string(23) "These are pants number1" ["PRODUCT.image_path"]=> string(0) 
    "" ["PRODUCT.price"]=> string(6) "$10.00" ["CATEGORY.ID"]=> string(2) 
    "17" ["CATEGORY.name"]=> string(5) "Pants" }
} 

我想循环浏览它以显示一些信息,这是我的代码(使用twig):

{% for product in products %}
    <tr><td><a href="/admin/product/edit/{{product.PRODUCT.ID}}">{{product.PRODUCT.name}}</a></td></tr>
    <tr><td id="productListTd">{{ product.PRODUCT.price }}</td></tr>
    <tr><td id="productListTd">{{ product.PRODUCT.description }}</td></tr>
    <tr><td id="productListTd">{{ product.CATEGORY.name }}</td></tr>
    <tr><td><hr></td></tr>
{% endfor %}

但它不起作用,也不会返回任何值。 在我的项目的其他部分,我做同样的工作,唯一的区别是我没有在那里加入表。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

您可以使用Twig中的数组表示法解决此问题,如文档here所述。在你的情况下,你所要做的就是

{% for product in products %}
    <tr><td><a href="/admin/product/edit/{{ product['PRODUCT.ID'] }}">{{product['PRODUCT.name']}}</a></td></tr>
    <tr><td id="productListTd">{{ product['PRODUCT.price'] }}</td></tr>
    <tr><td id="productListTd">{{ product['PRODUCT.description'] }}</td></tr>
    <tr><td id="productListTd">{{ product['CATEGORY.name'] }}</td></tr>
    <tr><td><hr></td></tr>
{% endfor %}