Laravel Route模型绑定错误

时间:2017-02-04 21:20:58

标签: php laravel binding model routes

我正在使用Laravel开发一个应用程序,同时浏览Laravel教程以了解该框架的各个方面。

在web.php中,我有一条路线:

    Route::get('/events/{event}', 'EventController@show');

在Eventcontroller中,我有以下内容:

    public function show($id) {
        $event = Event::find($id);
        return $event;
    }

它工作正常。当我尝试将其更改为以下格式以清理代码时:

    public function show(Event $event) {
        return $event;
    }

我收到了错误:
App \ Http \ Controllers \ EventController :: show(App \ Event $ event)声明应该与App \ Http \ Controllers \ Controller :: show($ id)兼容

我做错了什么?

2 个答案:

答案 0 :(得分:0)

您的参数不是int类型,而是Event,它失败了。

答案 1 :(得分:0)

为了能够这样做,您应该将此行添加到RouteServiceProvider

Route::model('event', App\Event::class);

它位于app / providers。

larvel docs