Schlüssel-Wert ersetzt wird durch 'Schlüssel' bei der Verwendung von merge() in twig

Ich bin versuchen, um Paare von Schlüssel-Wert an ein array mit den aktuellen Werten für alle Attribute fangen nicht mit '_'. Für einige Grund dafür, die Seriendruck-ersetzt den Wert von "key" (ich.e slug) mit dem string 'Schlüssel'.

Zum Beispiel, wenn slug " ist das einzige Attribut mit key fängt nicht mit '_',

key = slug
value = something

verhält es sich wie folgt:

{% 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" }

Habe ich Hinzugefügt, was den Halden zurück neben Ihnen.

Den letzten dump gibt

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

während ich erwarte

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

Ich würde sagen, es ist ein ähnliches problem, Zweig vergisst array-Schlüssel aber die Schlussfolgerung auf diese Frage ist, dass eine mongodb problem, und ich bin es nicht verwenden. Ich arbeite mit den Attributen aus der Anfrage.

Für einige Grund, der merge({ key : value}) ist das Verhalten von merge({ 'key' : Wert,}).

InformationsquelleAutor mezod | 2013-03-16
Schreibe einen Kommentar