向 symfony2 请求深度数组添加参数

问题描述 投票:0回答:1

我想在 symfony2 请求中向 ParameterBag 添加参数。

所以数组看起来像这样:

array (size=2)
  'editor' => 
    array (size=6)
      '_token' => string '5797a4faf1fced89404b80fb04b3cadffc99695e' (length=40)
      'login' => string 'editor' (length=6)
      'firstName' => string 'Joh' (length=3)
      'lastName' => string 'Ha' (length=2)
      'address' => 
        array (size=6)
          'time_zone_code' => string 'Africa/Abidjan' (length=14)

我想向

editor array
添加一个字段。我试过这个

$request->request->add(array('editor[password]' => $password));

但是当然,这只是在

editor[password]
之后添加了一个名为
editor array
的字段。

我必须更换整个 ParameterBag 还是有办法添加值?

php symfony request symfony2
1个回答
8
投票

如果 editor 不是 ParameterBag 中唯一的数组,您可以获取 editor 数组,然后向其添加值并再次设置它:

$data = $this->getRequest()->request->get('editor');
$data['password'] = 'string';
$this->getRequest()->request->set('editor', $data);

编辑

看起来谷歌群组中有一个问题与类似的答案相似:https://groups.google.com/forum/?fromgroups=#!topic/symfony-devs/2-SWFtFKwxQ

© www.soinside.com 2019 - 2024. All rights reserved.