密钥值被使用在树枝合并()当由“关键”替换(key value being replaced by

2019-08-17 16:14发布

我想对键值它们的当前值添加到阵列中的所有这些属性没有被启动“_”。 出于某种原因,合并取代“钥匙”(即塞)以字符串“关键”的值。

例如,当塞与键不与起始“_”的唯一属性,

key = slug
value = something

它的行为如下:

{% for key,value in app.request.attributes.all %}
    {% if '_' != key | slice(0, 1) %}
        {{ dump(key) }}  // string(4) "slug"
        {% set params = params | merge({ key : value}) %}
        {{ dump(key) }} // string(4) "slug"
    {% endif %}
{% endfor %}
{{ dump(params) }} // array(1) { ["key"]=> string(9) "something" }

我已经添加了什么转储返回他们旁边。

最后转储回报

array(1) { ["key"]=> string(9) "something" }

而我期待

array(1) { ["slug"]=> string(9) "something" }

我会说这是一个类似的问题,以树枝忘记阵列键 ,但对这个问题的结论是这是一个MongoDB的问题,我不使用它。 我从请求属性的工作。

出于某种原因,合并({键:值})被表现为合并({“键”:值})。

Answer 1:

你需要用括号与您的变量,以便能够使用它作为一个重点。

{% set params = params | merge({ (key) : value}) %}


文章来源: key value being replaced by 'key' when using merge() in twig