Laravel Routingの暗黙の結合とネスト
覚え走り書き…
以下をやる
- 暗黙の結合
- Routing
- Routing::resource
暗黙の結合で「ルートセグメント」を必ず書くものかと思ったが、そうではなかった
ルーティングがネストしてる関係で、route:list内でいい感じのnameにならなかったことがあった
php artisan route:list
でこうしたかったが(いろいろ抜粋)
user.setting.sound.se.index
こうなってしまう(上位の{sound}
が抜けてしまう)
user.setting.se.index
before(ネスト部分は省略)
暗黙の結合を使いたくて、{sound}
を記載したらうまく動かない(エラー)
Route::resource('sound/{sound}/se', User\Setting\SoundController);
after(ネスト部分は省略)
ドットでつないで、{sound}
を記載していない
これで上記の求めてた状態になる、暗黙の結合もよしなにやってくれた
もともと勝手にセグメントを記載してくれてたからエラーになっていた
Route::resource('sound.se', User\Setting\SoundController);
php artisan route:list
実行していろいろ抜粋したやつ
uri
setting/sound/{sound}/se
setting/sound/{sound}/se/create
setting/sound/{sound}/se/store/{se}
setting/sound/{sound}/se/update/{se}
setting/sound/{sound}/se/edit/{se}/edit
name
user.setting.sound.se.index
user.setting.sound.se.store
user.setting.sound.se.create
user.setting.sound.se.update
user.setting.sound.se.edit