如何使用TWIG处理SQL查询的可变列

时间:2019-05-27 07:42:17

标签: php sql symfony twig

我正在尝试根据查询中另一行的值来处理SQL查询的特定列。

我从SQL查询中得到的结果是这样的:

Number | Value1 | Value2 | Value3 
1      |      3 |      5 |     4
3      |      5 |      2 |     6
2      |      1 |      3 |     2

对于每一行,我想通过数字索引来获取列的值。 例如,在第一行中,我想获取“ Value1”的值,即3。 在第二行中,我要获取“ Value3”的值,即6,依此类推。

然后,我使用TWIG for循环遍历列表,并可以像这样访问'Number'参数:

{% for key in examplelist|keys %}
   {% set number = examplelist[key].number %}
{% endfor %}

不幸的是,我无法使用该数字处理“值”列。

我尝试过类似的事情:

{{examplelist[key].Value . number }}

{{examplelist[key].Value + number }}

{{examplelist[key].Value ~ number }}

但这些都不起作用...

2 个答案:

答案 0 :(得分:1)

这应该可以解决问题

{% for key in examplelist|keys %}
   {% set number = examplelist[key].number %}
   {% set value  = examplelist[key]["Value"~number] %}
{% endfor %}

答案 1 :(得分:0)

好的,我知道了。

数据以stdClass类型的对象而不是数组的形式返回。因此,您不能像访问数组一样访问它,而必须使用

对其进行转换
$Examplelist = json_decode($Examplelist, true);
return $Examplelist;

在php部分。

之后,可以使用

解决
{% set value  = examplelist[key]["Value"~number] %}

仍然感谢您的帮助:)