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