在Laravel 7中,获取模型非常简单,我只需要设置mi资源路由并获取地址:
http://localhost/test/public/employee/1
但我不能让它在Laravel 8上工作,根据我的理解,我只需要这样做:
public function show(Employee $employee)
{
dd($employee);
}
但是dd只返回一个空类:
如果我这样做:
public function show(Employee $employee)
{
dd(Employee::find(1));
}
dd返回正确的数据:
Route::resources([
'employee' => EmployeeController::class,
]);
有人能帮我找找我遗漏的东西吗?
致敬..。
发布于 2021-01-15 13:35:17
问题是我用西班牙语命名路由:
Route::apiResource('empleados', EmployeeController::class);
正因为如此,Laravel希望接收封装在西班牙语动词类中的模型(empleados而不是employee),因此我需要重命名方法控制器中的参数以接收正确的模型:
public function show(Employee $empleado)
{
return $empleado;
}
发布于 2020-10-23 23:42:13
路径必须具有相同的变量,如下所示
Route::get('/employee/{employee}', 'EmployeeController@show');
并确保为该路由启用了绑定中间件。->middleware(['bindings']);
更新资源工艺路线:
Route::resource('/employee', 'EmployeeController')->middleware('bindings');
发布于 2020-10-24 01:50:19
Route::resource('employee', EmployeeController::class);
https://laravel.com/docs/8.x/controllers#resource-controllers
https://stackoverflow.com/questions/64502987
复制相似问题