2016-07-05 101 views
0

我無法將控制器的值傳遞給我的下一個控制器。 我用下面的語法: 在BillController:無法重新傳遞從控制器傳遞的值。 Laravel

return redirect('pdf')->with($sid); 

在路線:

Route::get('pdf', '[email protected]'); 

在我PdfController:

class PdfController extends Controller 
{ 

    public function invoice() 
    { 


     $student = Student::where('id',$sid)->first(); 
     foreach ($student->fees as $fee) { 

    $fees= $fee; 
} 

    } 

什麼這裏的問題是什麼?誰能幫我?

回答

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}, '[email protected]')->name('invoice); 

轉接呼叫(增加$ SID進入路線):

return redirect()->route('invoice', [$sid]); 

控制器: 來獲取值只是在控制器問。

public function index($sid) 
+0

它沒有返回。當我試圖返回值: $ id = $ request-> get('sid'); \t \t return $ id; 它顯示一個沒有返回任何值的空白頁面。 – Anon

+0

對不起,我的壞。我認爲它現在應該工作。我還添加了一些關於通過URL傳遞信息的信息,這可能也適用於您。 – Aine