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 7 的簡單隱式路由模型系結的詳細內容
更多學習內容請訪問:
騰訊T3-T4標準精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61841.html
標籤:PHP
