ホームページ >PHPフレームワーク >Laravel >Laravel 7の単純な暗黙的ルーティングモデルバインディングについて

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

藏色散人
藏色散人転載
2020-04-07 09:06:032602ブラウズ

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 までご連絡ください。