无法检索从控制器传递的值。 Laravel

问题描述 投票:0回答:1

我在将值从控制器传递到下一个控制器时遇到麻烦。

我使用了以下代码:

在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;
        }
    }
}

这里是什么问题?谁能帮我吗?

laravel-5 information-retrieval
1个回答
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

如果发布值,则可以通过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)
© www.soinside.com 2019 - 2024. All rights reserved.