Laravel:将数据添加到Input :: all()

时间:2014-06-06 01:59:22

标签: php laravel-4

我正在使用控制器中的URL domain.com?para=value中的参数获取值 Input:all()

有没有办法向控制器中的Input:all()添加更多值?

我尝试了$_POST['para'] = "value$_GET['para'] = "value",但没有运气。

我已浏览过文档,但找不到任何内容。

由于

更多信息

以下是返回的内容

{
  "param_1" => "value",
  "param_2" => "value",
  "param_3" => "value",
}

我想在Input:all()

中添加另一个参数
{
  "param_1" => "value",
  "param_2" => "value",
  "param_3" => "value",
  "NEW_PARAM" => "NEW VALUE",
}

3 个答案:

答案 0 :(得分:17)

在laravel 5中,您可以使用

Request::merge(['New Key' => 'New Value']);

或使用request()helper

request()->merge(['New Key' => 'New Value']);

答案 1 :(得分:2)

您永远不需要向Input添加任何内容。你应该像这样分配输入......

$arr = Input::all();

然后像这样添加到$ arr ......

$arr['whatever'] = 'whatever';

如果你需要在堆栈的另一部分获取该值,请尝试通过自己。

干杯。

答案 2 :(得分:0)

向laravel中的input::all()添加数据的最佳方法。

  

解决方案1 ​​

在页面顶部

添加 请求软件包

use Request;

然后将以下代码添加到您的控制器中。

Request::merge(['new_key' => 'new_value']);

  

解决方案2

您可以将所有Input::all();分配给一个变量,然后可以向该变量添加新数据。如下所示。

$all_input = Input::all();

$all_input['new_key'] = 'new_value';

  

在请求实例内部即时添加输入值

public function store(Request $request){
    $request->request->add(['new_key' => 'new_value']);
}

  

在请求实例内部即时从输入值中删除数据

public function store(Request $request){
    $request->request->remove('key');
}