我正在使用控制器中的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",
}
答案 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');
}