php - 菲尔康 : volt get value from array which key taken from variable

标签 php phalcon volt

在 phalcon 模板引擎 volt(类似于 twig)中,您可以通过以下方式获取所有记录:

{% for product in products %}
    Name: {{ product.name }}
    Description: {{ product.description }}
    price: {{ product.price}}
{% endfor  %}

因此,在我的场景中,我正在构建一个将用于不同类型模型的 crud 模板。我想在此模板中实现的是此 View 中的每一列都不是硬编码的。所以我将要显示的列存储到一个数组中(在 Controller 中定义,传递给 View ):

$cols = ['name','description','price']

在 View 中,让它显示所有列:

{% for product in products %}
   {% for col in cols %}
       {{ col }}: {{ product.col }}
   {% endfor  %}
{% endfor  %}

显然,这会导致错误,因为产品中没有“col”。

是否有任何解决方案或替代方案?

最佳答案

虽然对 volt extension 的修补感到沮丧,但我找到了一个更简单的解决方案:

  1. 将模型对象转换为数组。在 Controller 中:$products->toArray()

  2. 简单地说,在 View 中显示数组中特定键的特定值:{{ product[key] }}

问题已解决,但因为它现在不是对象形式,所以我无法使用像 {{ product.some_field }} 这样的点访问对象属性,而是 {{ product[ 'some_field'] }}.

关于php - 菲尔康 : volt get value from array which key taken from variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22637112/

相关文章:

php - 回显 php 数据

php - 不同类型的 mysql php 请求

php - 连接拒绝重做

php - 如何计算 phalcon 查询返回的行数?

php - Phalcon INVO 应用程序 - Volt 目录无法写入

php - 如何在 Volt (Phalcon) 中设置自己的 Tag 类

php - 'git pull' 命令可以从终端运行,但不能通过 git 存储库 Hook 使用 php shell_exec()

php - Phalcon - 原始查询插入语法错误

php - 如何将 Phalcon 的 .volt 中的变量转换为 int?

php - 如何列出具有特殊(挪威语)字符的文件