Laravel 的下一個主要發行版本,你可以直接在路由定義中自訂隱式路由模型綁定:
建議:laravel教學
Route::get('/posts/{post:slug}', function (Post $post) { // ... });
目前,使用Laravel 6,下文中的需求需要你像這樣在模型上定義一個getRouteKeyName() 方法:
<?php class Post extends Model { /** * Get the route key for the model. * * @return string */ public function getRouteKeyName() { return 'slug'; } }
你仍能使用getRouteKeyName() 方法;然而,我認為直接在路由中自訂它會更流暢。
可能你會有多個希望以不同方式綁定的路由。例如,前台路由用slugs 去顯示posts ,後台則希望以id 管理posts
Route::get('/posts/{post:slug}', function (Post $post) { // ... }); // 或者你在这儿可以用默认的`{post}` Route::get('/admin/posts/{post:id}/edit', function (Post $post) { // ... });
如果你開始嘗試自訂隱式路由模型綁定,你可以安裝開發版本的Laravel
laravel new example --dev
文章轉發自專業的Laravel開發者社區,原始連結:https://learnku.com/laravel/t/37702
以上是關於Laravel 7 的簡單隱式路由模型綁定的詳細內容。更多資訊請關注PHP中文網其他相關文章!