Sto tentando di aggiungere coppie di valori chiave a un array con i loro valori correnti per tutti quegli attributi che non iniziano con "_". Per qualche motivo, l'unione sostituisce il valore di "chiave" (i.e slug) con la stringa "chiave".sostituito da "chiave" quando si utilizza l'unione() nel ramoscello
Per esempio quando slug è l'unico attributo con chiave non iniziano con '_',
key = slug
value = something
si comporta come segue:
{% 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" }
ho aggiunto quali sono le discariche ritornano al loro fianco .
La discarica finale ritorna
array(1) { ["key"]=> string(9) "something" }
mentre mi aspetto
array(1) { ["slug"]=> string(9) "something" }
Io direi che è un problema simile a Twig forgets array-keys ma la conclusione su tale questione è che è un problema MongoDB e Non lo sto usando. Sto lavorando con gli attributi della richiesta.
Per qualche motivo, l'unione ({chiave: valore}) si comporta come unione ({'chiave': valore}).
funziona, grazie! – mezod
Siete i benvenuti, considerate di convalidare questa risposta come quella giusta, grazie! –
fatto, non era a conoscenza che potrei farlo: P – mezod