从Laravel 5.2升级到5.3后的隐式路由绑定问题

问题描述 投票:4回答:2

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

我使用sluggable包。

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

但是当我使用slug或id上面的代码时,我只得到一个新的模型实例而不是相关的模型。即使我从模型中删除了可缓慢的特征并在路径中使用了ID。当我使用不存在的id时,不显示404页面。

我不确定导致错误的原因是什么?干杯。

php laravel laravel-5.3
2个回答
5
投票

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


1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.