2017-04-25 7 views
0

このようなクラスがありますLaravelは(ショーでいつも行く)

class CertificateController extends Controller 
{ 
    public function index(Request $request, $p_id) 
    { 
    ... 
    } 
    public function show($p_id) 
    { 
    ... 
    } 

どうしたの?

+0

あなたも、あなたの 'ショー()'指し、 '/ P /#数/ certificate' URLに見つけたときに? – hassan

+0

あなたのルートを 'php artisan route:list'に表示します –

答えて

0

Laravelでリソースを使用すると、ルート /p/{id}が自動的にshowメソッドにルーティングされます。それがどのように設計されたのですか。

あなたがインデックスに行くあなたの前に、このルートを試してみてください、

Route::get('/p/{id}/certificate', '[email protected]'); 
+1

' CertificateController'の後に '@ method'を忘れました –

+0

ありがとう@EliasSoares! –

0

のためにあなたのURLをリダイレクトしたい場合は、あなたのようなページを駆動するために、リソースのルートの前に特定のメソッドを記述することができます。

web.php

Route::get('/p/{number}/certificate/index','[email protected]'); 
0

「ネストされたリソース」セクションを削除したドキュメントに感謝します。

これは、ネストされたリソースを扱う方法です:

Route::resource('p.certificate', 'YourController'); 
// index - p/{p}/certificate 
// show - p/{p}/certificate/{certificate} 
// edit - p/{p}/certificate/{certificate}/edit 
// etc ... 

あなたはパラメータ名を変更したい場合は、あなたがoptions配列ですRoute::resourceへの第3引数を経由して簡単にそれを行うことができます。

Laravel Docs - 5.1 - Controllers - Restful - Nested Resources

Laravel Docs - 5.4 - Controllers - Restful - Naming Resource Route Parameters

関連する問題