Как решить «SQLSTATE [42S22]: столбец не найден»?

Я переименовал свой "id" в "teams_id"

Как решить «SQLSTATE [42S22]: столбец не найден»?

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

Как решить «SQLSTATE [42S22]: столбец не найден»?

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

Как решить «SQLSTATE [42S22]: столбец не найден»?

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

{
     $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');

}

у вас есть team_id не id

ScaisEdge 09.04.2019 14:52

Пожалуйста, не размещайте здесь изображения, просто код. Вы должны посмотреть, как спросить тему stackoverflow.com/help/как спросить

Piazzi 09.04.2019 14:52

хорошо, я больше не буду публиковать изображения..... пожалуйста, скажите мне, как решить эту проблему, и у меня есть "teams_id"

Tanvir Ahmed 09.04.2019 14:55

я здесь новенькая, если что-то пойдет не так, пожалуйста, не обращайте внимания

Tanvir Ahmed 09.04.2019 14:56
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
122
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Ошибка скорее всего в вашем валидаторе

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

Проверьте laravel документация и попробуйте использовать

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

Это запустит проверку unique для идентификатора вместо поля team и не будет игнорировать текущую команду. Просто добавьте ,teams_id в конце, ничего не удаляя.

Thomas 09.04.2019 15:03

ooopsss .... вы правы. эта проблема возникает для валидатора ... вы знаете, как ее решить

Tanvir Ahmed 09.04.2019 15:03

подожди, дай мне попробовать

Tanvir Ahmed 09.04.2019 15:04

Да, Томас прав, следуйте его комментарию, я также отредактировал ответ

Theodoros Alexopoulos 09.04.2019 15:04

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

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

Другие вопросы по теме