Laravel 5.8 Внутренняя ошибка сервера с ajax - PullRequest
0 голосов
/ 28 октября 2019

Я получаю ошибку, Внутренняя ошибка сервера,

GET http://isp.local/teachers/168/edit 500 (Внутренняя ошибка сервера)

Контроллер:

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,
          ]);
      }

Ответы [ 2 ]

2 голосов
/ 28 октября 2019

Этот запрос неверен. ->find() выполняет запрос, как и ->first(), и все выбирается по умолчанию, поэтому ->select('*') не требуется.

$teacher = DB::table('teachers')->find($id);

Должно быть достаточно. Но вы уже используете правильный

$teacher = Teacher::find($id);

Так что нет особого смысла в использовании подхода DB::table().

0 голосов
/ 28 октября 2019

Попробуйте

 ->whereId($id)

или

where('id',$id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...