Laravel 5.8 内部服务器错误 ajax

Laravel 5.8 Internal server error with ajax

我遇到错误,内部服务器错误,

GET http://isp.local/teachers/168/edit 500 (Internal Server Error)

控制器:

public function edit($id)
  {
  $teacher = DB::table('teachers')
    ->find($id)
    ->select('*')
    ->first();
return response()->json([
          'status' => 'success',
          'teacher' => $teacher,
      ]);
  }

当我在控制器中进行以下更改时,我得到了正确的结果,上面的代码有什么问题?

控制器:

 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() 方法没有多大意义。