はのは、私は、ユーザーがこのような何かを探して取得する私のコントローラ内の機能を持っているとしましょう:パス機能の変数
Route::get('passengers', '[email protected](1)')->name('passengers');
Route::get('attendees', '[email protected](2)')->name('attendees');
という名前のルートがparameを定義する場合、彼らはすべての
はのは、私は、ユーザーがこのような何かを探して取得する私のコントローラ内の機能を持っているとしましょう:パス機能の変数
Route::get('passengers', '[email protected](1)')->name('passengers');
Route::get('attendees', '[email protected](2)')->name('attendees');
という名前のルートがparameを定義する場合、彼らはすべての
んが、あなたはパラメータにアクション名を渡すことはできません、とロジックをルーティングあなたに問題があります:
Route::get('/{categoryName}', '[email protected]')->name('index');
そして、あなたがするコントローラでブレードで
public function index($categoryName) {
$category = Category::where('name', $categoryName)->first();
// use $ category as you please ;)
}
:
route('index', ['categoryName' => $category->name])
0たとえば、次のように名前でカテゴリを取得
同じ機能を使用することができます。この方法ルート関数の第2引数としてパラメータを渡すことができます。そして、あなたがルートに
{category}
を追加する必要がroute('passengers', ['category' => 1])
:指定されたパラメータは、自動的にこのよう
route()
ヘルパーを使用して、だから、彼らの正しい位置にURLに
https://laravel.com/docs/5.5/routing#named-routes
を挿入されます。また、ここではindex()
の代わりにshow()
を使用することをおすすめします。だから、あなたのルートは次のようになります。
Route::get('passengers/{category}', ['as' => 'passengers', 'uses' => '[email protected]']);
はい、あなたはそのようなURLでのparamを定義することができますと衝突しないようにするために、あなたのルートファイルの最後に、このルートを追加することを忘れないでください
Route::get('passengers/{yourParam}', '[email protected]')->name('passengers');
Route::get('{category}', [ 'as' => 'users', 'uses' => '[email protected]' ]);
他のルート。
は、今すぐあなたのコントローラに
use Illuminate\Http\Request;
public function index(Request $request)
{
$category = $request->query('category');
// $category will be passengers, attendees, etc
}
あなたのルートはM.Moes @
/passengers can be accessed as route('users', ['category' => 'passengers'])
/attendees can be accessed as `route('users', ['category' => 'attendees'])
されることは、あなたとokですか? – Maraboc
実際には、example.com/passengers、example.com/attendeesのようにURLにアクセスして、インデックス(1)やインデックス(2)などに移動します。 –
コントローラに2つのメソッドを作成するとどうなりますか? – Maraboc