Как решить «SQLSTATE [42S22]: столбец не найден»? - PullRequest
0 голосов
/ 09 апреля 2019

Я переименовал свой «id» в «groups_id»

Look at the picture

Теперь, когда я обновляю, он показывает следующую ошибку

Look at the image

Я пытался использовать объявление в моей модели, но это не сработало

enter image description here

Вот мой код обновления:

{
     $this->validate(request(), [
        'coach' => 'required',
       'team' => "required|unique:teams,team,$id",
       'manager' => "required|unique:teams,manager,$id",
    ]);

    $team=Team::findorfail($id);

    $team->team = $request->input('team');
    $team->coach = $request->input('coach');
    $team->manager = $request->input('manager');

    $team->save();
    Toastr::success('Team info was updated','Success!');
    return redirect('/teams');

}

Ответы [ 2 ]

2 голосов
/ 09 апреля 2019

Не проходит проверку. Правило проверки unique сверяется со столбцом id. Он не использует первичный ключ модели. Вместо этого измените свои правила проверки на следующее:

    $this->validate(request(), [
       'coach' => 'required',
       'team' => "required|unique:teams,team,$id,teams_id",
       'manager' => "required|unique:teams,manager,$id",
    ]);
1 голос
/ 09 апреля 2019

Возможно ошибка на вашем валидаторе

'team' => "required|unique:teams,team,$id",

Проверьте документацию и попробуйте

'team' => "required|unique:teams,team,$id,teams_id",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...