我遇到错误,内部服务器错误,
获取http://isp.local/teachers/168/edit 500(内部服务器错误)
Controller:
public function edit($id)
{
$teacher = DB::table('teachers')
->find($id)
->select('*')
->first();
return response()->json([
'status' => 'success',
'teacher' => $teacher,
]);
}
当我在控制器中进行以下更改时,我得到了正确的结果,上面的代码有什么问题?
Controller:
public function edit($id)
{
$teacher = Teacher::find($id);
return response()->json([
'status' => 'success',
'teacher' => $teacher,
]);
}
尝试
->whereId($id)
或
where('id',$id)
该查询是错误的。 ->find()
与->first()
一样执行查询,并且默认情况下已选择所有内容,因此->select('*')
是不必要的。
$teacher = DB::table('teachers')->find($id);
应该足够。但是您已经在使用正确的
$teacher = Teacher::find($id);
因此使用DB::table()
方法没有多大意义。