【Laravel】implicit bindingってなに?
とりあえず翻訳してみた
・implicit
→暗黙
・binding
→結合
....暗黙の結合!?
概要
ルートモデル結束の機能の一つ。
ver5.2から追加された機能で
ver5.1では明示的バインディングが必要だった
→app/Providers/RouteServiceProvider.php
上記の「boot」メソッドに使用するEloquentモデルを
定義する必要があった(例:$router->model('task', 'App\Task');)
これが必要なくなったことでリクエストでは
user_id等を送っていたのが受け取るときには
userモデルになっているというな現象が起こる。
何故idが自動的に取得されるかということは、
モデルクラスが実装している、UrlRoutableインターフェイスのgetRouteKeyメソッドの働きで
詳しくはactionヘルパーが内部で使っている、UrlGeneratorのtoRouteが影響している。