SQLSTATE [HY000]: общая ошибка: 1364 Поле «статус» не имеет значения по умолчанию

У меня есть тег опции, чтобы назвать "статус".

лезвие

<div class = "form-group">
    <label class = "col-md-3" for = "status">Status</label>
    <div class = "col-md-9">
        <div class = "radio">
            <label>
                <input type = "radio" name = "status" id = "active" value = "active">                        Active
            </label>
            <label>
                <input type = "radio" name = "status" id = "deactive" value = "deactive">                      Deactive
            </label>
        </div>
    </div>
</div>

Модель

protected $fillable = ['name', 'status']

Контроллер

public function store(Request $request)
    {
        SchoolsList::create($request->all());
        return redirect(route('submit-information.index'));
    }

Когда я нажимаю "Отправить", я вижу эту ошибку.

SQLSTATE[HY000]: General error: 1364 Field 'status' doesn't have a default value

Как при выборе значения параметра сохранить и добавить в мою базу данных.

Какой тип поля вы присвоили «статусу»?

Chirag Patel 05.05.2018 09:38
stackoverflow.com/questions/8287779/… Думаю нужно сделать поле обязательным
Vikas Rinvi 22.06.2019 09:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
2
1 572
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Это вызывает эту ошибку. Потому что, когда вы отправляете форму, столбец статуса не имеет значения внутри. проверьте отправленные вами данные формы и убедитесь, что они имеют значение. В противном случае сделайте свой столбец допускающим значение NULL с помощью $this->integer('status')->nullable();

Я не хочу быть пустым. Я хочу сохранить в базе

Mahmoud Khosravi 05.05.2018 08:13

вы проверили предоставленные вами данные? поделитесь с нами своими результатами.

Jobayer 05.05.2018 08:37

Вы ничего не выбираете из переключателя при отправке значения, поэтому статус ключа не имеет значения. Это вызывает эту ошибку, поскольку столбцу состояния в db требуется значение при вставке новой строки.

1 - Проведите некоторую проверку перед отправкой формы для определения статуса.

2 - В противном случае перейдите в свою базу данных и вручную установите значение по умолчанию как active / deactive / null в таблице.

3 - Иначе измените свойство «атрибута статуса» в таблице. (Сделайте varchar вручную)

4 - Если вы хотите сделать это с помощью кода, удалите таблицу и создайте ее Конструктор схем Laravel Кликните сюда и сделайте статус обнуляемым.

  Schema::create('table_1',function ($table){
  $table->nullable('status'); // add other attibutes . refere the url });

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