首頁 >php框架 >Laravel >關於Laravel 7 的簡單隱式路由模型綁定

關於Laravel 7 的簡單隱式路由模型綁定

藏色散人
藏色散人轉載
2020-04-07 09:06:032551瀏覽

關於Laravel 7 的簡單隱式路由模型綁定

 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 &#39;slug&#39;;
    }
}

你仍能使用getRouteKeyName() 方法;然而,我認為直接在路由中自訂它會更流暢。

可能你會有多個希望以不同方式綁定的路由。例如,前台路由用slugs 去顯示posts ,後台則希望以id 管理posts

Route::get(&#39;/posts/{post:slug}&#39;, 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中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除