Laravel 7の単純な暗黙的ルーティングモデルバインディングについて

藏色散人
リリース: 2020-04-07 09:06:03
転載
2542 人が閲覧しました

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() メソッドは引き続き使用できますが、ルート内で直接カスタマイズした方がスムーズだと思います。

おそらく、さまざまな方法でバインドしたい複数のルートがあるでしょう。たとえば、フロントエンド ルーターはスラッグを使用して投稿を表示し、バックエンドは ID

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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート