2016-07-05 20 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

値を渡すために、いくつかの方法がありますOK:

1.セッションフラッシュメッセージ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.フォームには、値を投稿する場合は、Requestオブジェクト

public function invoice(Request $request) 
    { 
     $sid = $request->get('sid'); 

3を介してそれらにアクセスすることができますhttps://laravel.com/docs/5.2/requests

を提出します。 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

関連する問題