【问题标题】:Implicit route binding issue after upgraded from Laravel 5.2 to 5.3从 Laravel 5.2 升级到 5.3 后的隐式路由绑定问题
【发布时间】:2016-12-21 14:02:46
【问题描述】:

我刚刚使用Shift 将我的 Laravel 项目从 5.2 升级到 5.3。手动合并文件 Shift 无法合并后,我打开了一个选项卡并转到我的项目。而且似乎路由模型绑定无法正常工作。

我使用sluggable 包。

Route::get('team/{team}', function (App\Models\Team $team) {
    dd($team);
});

但是当我将上面的代码与 slug 或 id 一起使用时,我只会得到一个新的模型实例而不是关联的模型。即使我从模型中删除了 sluggable 特征并在路线中使用了 ID。当我使用不存在的 id 时,404 页面不显示。

我不确定是什么导致了错误,有什么想法吗?干杯。

【问题讨论】:

    标签: php laravel laravel-5.3


    【解决方案1】:

    在将\Illuminate\Routing\Middleware\SubstituteBindings::class 添加到中间件后修复。

    【讨论】:

      【解决方案2】:

      如果您在从 5.2 升级时遇到同样的问题,请对照 5.3 版本检查您的内核文件: https://github.com/laravel/laravel/blob/5.3/app/Http/Kernel.php

      \Illuminate\Routing\Middleware\SubstituteBindings::class 应包含在 'web' 下的受保护 $middlewareGroups 中。可能最安全的选择是从 github 复制整个内核,这样您就不会错过任何内容。

      【讨论】:

        猜你喜欢
        • 2018-10-18
        • 1970-01-01
        • 1970-01-01
        • 2017-02-04
        • 2017-04-24
        • 2011-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多