无法重新获得从控制器传递的值。 Laravel

时间:2016-07-05 13:46:02

标签: laravel-5.2 information-retrieval

我无法将值从控制器传递到下一个控制器。 我使用了以下语法: 在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 个答案:

答案 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)