私は2つのパラメータで(現実世界で)定義されたリソースを持っています。私はそれを指し、これとルートのコントローラを作成することができます知っている2つの引数を持つリソースコントローラ
/cars/{model}/{make}
を、私はでこれを行う方法を見つけ出すことはできません。次のように私は、リソースにアクセスたい:の車-アナロジーを見てみましょうリソース・ルート:これは唯一のパラメータでルートを作成する
Route::resource('/cars', 'CarController');
:
GET/HEAD cars App\Http\Controllers\[email protected]
POST cars App\Http\Controllers\[email protected]
GET/HEAD cars/new App\Http\Controllers\[email protected]
GET/HEAD cars/{car} App\Http\Controllers\[email protected]
PUT/PATCH cars/{car} App\Http\Controllers\[email protected]
DELETE cars/{car} App\Http\Controllers\[email protected]
GET/HEAD cars/{car}/edit App\Http\Controllers\[email protected]
{car}
パラメータは、データベースキーを参照しています。
{make}
と{model}
の2つのパラメータを使用してリソースルートを作成することはできますか?
すべてのルートを手動で作成する必要がありますか?
私はLaravel 5.5を使用しています。
明確にするために、私はで終わるしたいと思います:
GET/HEAD cars App\Http\Controllers\[email protected]
POST cars App\Http\Controllers\[email protected]
GET/HEAD cars/new App\Http\Controllers\[email protected]
GET/HEAD cars/{make}/{model} App\Http\Controllers\[email protected]
PUT/PATCH cars/{make}/{model} App\Http\Controllers\[email protected]
DELETE cars/{make}/{model} App\Http\Controllers\[email protected]
GET/HEAD cars/{make}/{model}/edit App\Http\Controllers\[email protected]
(例えば)edit
関数は、次にようになります。
public function edit(string $make, string $model) {
// sort out DB entry and provide it to a view
}
はたぶん、あなたは車に対応するメイク、モデルの組み合わせを検索する形質を追加することができますか? –
モデルを調べることはここで問題ではありません。それは、(ユーザーフレンドリーな)URLからコントローラーにパラメーターを渡すことです。 –
私はそれを理解していますが、追加のパラメータ宣言を7回入力する必要はないので(これが唯一のコントローラであれば、これはまったく問題ありません)、このために再利用できる関数を作成できます状況は私が言っているすべてです。 –