我在将值从控制器传递到下一个控制器时遇到麻烦。
我使用了以下代码:
在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;
}
}
}
这里是什么问题?谁能帮我吗?
确定,有多种方法可以传递值:
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)
如果发布值,则可以通过Request对象访问它们
public function invoice(Request $request)
{
$sid = $request->get('sid');
3。通过URL
routes.php
Route::get('sid/{sid}, 'PdfController@invoice')->name('invoice);
重定向呼叫(将$ sid添加到路由中::
return redirect()->route('invoice', [$sid]);
控制器:要获取值,只需在控制器中询问。
public function index($sid)