Php 将对象注入控制器会引发错误
我在拉雷维尔有一个项目,有一个叫“老师”的模特 我有这个代码的模型文件,控制器Php 将对象注入控制器会引发错误,php,laravel,lumen,php-7.2,Php,Laravel,Lumen,Php 7.2,我在拉雷维尔有一个项目,有一个叫“老师”的模特 我有这个代码的模型文件,控制器 /** * @param Teacher $Teacher * @return \App\Http\Resources\Teacher */ public function show(Teacher $Teacher) : \App\Http\Resources\Teacher { return new \App\Http\Resources\Teacher($Teacher); } 在路由文件
/**
* @param Teacher $Teacher
* @return \App\Http\Resources\Teacher
*/
public function show(Teacher $Teacher) : \App\Http\Resources\Teacher
{
return new \App\Http\Resources\Teacher($Teacher);
}
在路由文件中,我有这个代码
$prefix = '/api/v2/teachers';
$router->group([
'prefix' => $prefix,
'namespace' => 'CarApp',
], function () use ($router) {
$router->get('/{Teacher}', 'TeacherController@show');
$router->get('/', 'TeacherController@list');
}))
这是我在这样做时收到的错误
{“错误”:{“类型”:
“Symfony\Component\Debug\Exception\fatalthrowayerror”,
“消息”:“参数1传递给”
App\Http\Controllers\CarApp\TeacherController::show()必须是
App\CoursesApp\Teacher的实例,给定字符串,“code”:500}
App\CoursesApp\Teacher
的名称空间建议在错误中是否正确,或者您正在寻找模型
如果您正在查找其他内容,则控制器中的use
语句可能错误
如果该类
App\CoursesApp\Teacher
不是模型,则Laravel无法通过主键加载该类,也无法正确插入该类,这意味着该类将以字符串形式传递“1”。您需要发布教师模型的定义