2013-03-16 21 views
7

'anahtarıyla çiftler anahtar sözcüğün çiftlerini bir diziye' _ 'ile başlamayan tüm öznitelikler için geçerli değerleriyle eklemeye çalışıyorum. Bir sebepten dolayı, birleştirme "anahtar" (yani sümüklügü) değerini "anahtar" dizesi ile değiştirir.anahtar değeri 'anahtar' ile değiştirilirken() twer

Örneğin

sülük anahtarı '_' ile başlayan değil sadece niteliktir,

key = slug 
value = something 

aşağıda belirtildiği davranır gibidir: Eklediğim

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

çöplük yanlarında dönmek neyi . i

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

bekliyorum ben Twig forgets array-keys benzer sorun olduğunu söyleyebilirim ama bu soru üzerine sonuç olduğu bir mongodb sorun ise

nihai dökümü

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

döner ve Ben kullanmıyorum. İstekten öznitelikleri ile çalışıyorum.

Nedense, birleştirme ({key: value}) birleştirme ({'key': value}) gibi davranıyor.

cevap

22

Anahtarınızı kullanmak için değişkeninizi parantez ile sarmanız gerekir.

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

çalışıyor, teşekkürler! – mezod

+0

Rica ederim, bu cevabı doğru olanı doğrulayın, teşekkürler! –

+0

tamamlandı, bunu yapamayacağımı bilmiyordum: P – mezod

İlgili konular