我无法将值从控制器传递到下一个控制器。 我使用了以下语法: 在BillController中:
return redirect('pdf')->with($sid);
路线:
Route::get('pdf', 'PdfController@invoice');
在我的PdfController中:
class PdfController extends Controller
{
public function invoice()
{
$student = Student::where('id',$sid)->first();
foreach ($student->fees as $fee) {
$fees= $fee;
}
}
这是什么问题?任何人都可以帮助我吗?
答案 0 :(得分:0)
好的,有很多方法可以传递值:
<强> 1。会话Flash消息(https://laravel.com/docs/5.2/session)
首先,您需要使用重定向设置键和值:
// Method phpdoc - public function with($key, $value = null)
return redirect('pdf')->with('sid', $sid);
您可以通过\ Illuminate \ Http \ Session对象访问输入值:
// Have a look at the Session values - dd(Session::all());
$sid = Session::get('sid');
<强> 2。表单提交(https://laravel.com/docs/5.2/requests)
如果您发布值,则可以通过“请求”对象
访问它们public function invoice(Request $request)
{
$sid = $request->get('sid');
3。通过网址
routes.php文件
Route::get('sid/{sid}, 'PdfController@invoice')->name('invoice);
重定向呼叫(将$ sid添加到路由中):
return redirect()->route('invoice', [$sid]);
控制器: 要获得值,只需在控制器中询问。
public function index($sid)