まず、小枝用語で、そのオブジェクトまたはキーと値のアレイが、ない:データval_2: val_2
期待される結果に加え(see Twig's documentation of literals)。
アイテムをハッシュに追加することはできません。 {% set data.second = 'Second' %}
を実行してください。代わりに、あなたはmerge filterを使用する必要があります。
{%
set data = data|merge({
second: 'Second',
})
%}
{{ dump(data) }}
{# Prints this:
array(3) {
["first"]=>
string(5) "First"
["data"]=>
array(1) {
["val_1"]=>
string(5) "val_1"
}
["second"]=>
string(6) "Second"
}
#}
ので、ハッシュ内のハッシュに項目を追加するために、あなたは二回マージフィルタを使用する必要があります。
{%
set data = data|merge({
data: data.data|merge({
val_2: 'val_2',
}),
})
%}
{# Prints this:
array(3) {
["first"]=>
string(5) "First"
["data"]=>
array(1) {
["val_1"]=>
string(5) "val_1"
["val_2"]=>
string(5) "val_2"
}
["second"]=>
string(6) "Second"
}
#}
あなたがこのの多くを行う場合Twigの可変操作のようなものであれば、そのコードの一部がコントローラーやモデルなどの中に入れられる方が良いかもしれないというサインであるかもしれません。