我的目标是将对象从当前函数传递到其他函数。正如您可以看到下面的代码,我提供了return在控制器部分中完成的多种方法。我已经评论了它的每个错误。我不确定为什么会发生这种情况,尽管有些方法来自其他一些问题的投票答案。
数组内容 [ dump($data = $request->all()); ]
控制器
public function supply_status(Request $request, $data)
{
dump($data);
}
public function supply_redirect(Request $request)
{
$data = $request->all();
//option 1
return redirect()->route('supply_status', compact('data')); // "Array to string conversion" error
//option 2
return redirect()->route('supply_status', ['data' => $data]); // "Array to string conversion" error
//option 3
return redirect()->route('supply_status')->with('data', $data); // Missing required parameters for [Route: supply_status] [URI: supply_status/{data}].
//option 4
return redirect()->action('TestController@supply_status')->with('data', $data); // Missing required parameters for [Route: supply_status] [URI: supply_status/{data}].
}
Run Code Online (Sandbox Code Playgroud)
路线
Route::get('supply_status/{data}', 'TestController@supply_status')->name('supply_status');
Run Code Online (Sandbox Code Playgroud)
对于这种情况,你确实应该使用Session类
Session::put('customer_data', $request->all());
Session::save();
redirect()->route('foobar');
Run Code Online (Sandbox Code Playgroud)
在 foobar 中
if($data = Session::get('customer_data')) {
dump($data);
}
Run Code Online (Sandbox Code Playgroud)
您也可以这样做:redirect()->with(['customer_data' => $request->all()])然后用Session::get('customer_data')or以相同的方式获取它session()->get('customer_data')
| 归档时间: |
|
| 查看次数: |
8802 次 |
| 最近记录: |