我正在使用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)兼容
我做错了什么?
答案 0 :(得分:0)
您的参数不是int类型,而是Event,它失败了。
答案 1 :(得分:0)
为了能够这样做,您应该将此行添加到RouteServiceProvider
类
Route::model('event', App\Event::class);
它位于app / providers。