2016-05-09 3 views
0

私はLaravel 5を使用してウェブサイトを構築しており、その内容はBladeで記述されます(例えばAbout、利用規約など)。データベース(一般的なブログ記事)。Laravel 5:コントローラに追加のパラメータを渡す

コントローラを1つ書き、特定のビューを表示するためにスイッチケースを実行したいと思います。

[email protected]

public function showPage($page){ 
switch ($page) { 
    case 'about': 
     $view = 'frontend.about'; 
     break; 
    case 'terms': 
     $view = 'frontend.terms'; 
     break; 
    ... 
    default: 
     $view = 'frontend.home' 
     break; 
} 

return view($view); 
} 

しかし、どのように私はRoutes.phpに追加のパラメータを渡すことができますか?

//Route to About page 
Route::get('/about',['as'=>'about','uses'=>'[email protected]']); 

//Route to Terms 
Route::get('/terms',['as'=>'terms','uses'=>'[email protected]']); 

ような何か:

//Route to Terms 
    Route::get('/terms',['as'=>'terms','uses'=>'[email protected]'])->with(['page'=>'terms']); 
+0

なぜ完全な '要求 ' 'public function showPage(Request $ request)'を介してあなたのコントローラーのアクションに入ります。その情報を使用して、ロジックをコントローラ内に実装し、さまざまな情報をビューに提供することができます。 – codedge

答えて

0

ルートで変数を渡すことは非常に簡単です。次のコードを見てください。

Route::get('/terms/{page}',['as'=>'terms','uses'=>'[email protected]']); 

コントローラのアクション内で、次のようにこの値にアクセスできます。

function showPage($page){ 
    echo $page; 
} 
0

このようなあなたのページのルートを作成します。

Route::('/pages/{slug}', '[email protected]') ; 

とするたびに、あなたのルートを作成ちょうどこの操作を行います。

route('/pages', ['slug' => 'about']); 

そして、あなたのコントローラから

としてスラグを得る:

function showPage($slug) { 
    switch($slug) : 
    //write your cases 
} 
関連する問題