あるControllerのメソッドでルートモデルバインディングを適用しています。
public function show(Item $item) { return view('items.show', ['item' => $item]); }
ルーティング設定は以下の通りです。
Route::get('/item/{item}', 'ItemController@show')
この$item
にはitem/10
にアクセスするとid=10のitemsテーブルのレコードのインスタンスが格納されます。
ここで疑問があります。id=100が存在しないのにitem/100
にアクセスすると404が帰るのですがitem/1aaaaaaaaaa
にアクセスするとitem/1
と同様の結果が帰ります。
数値の後ろに文字列が含まれるとそれを除いた数値で処理が行われていると思われますがこれはLaravelとしては正しい挙動なのでしょうか?
また同じ情報を表示するURLが末尾だけとはいえ自由に変更可能なのはよろしくない気もするのですが、コアを弄ることなく設定等で変更出来るのでしょうか。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/07 09:10