У меня есть тег опции, чтобы назвать "статус".
лезвие
<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
Как при выборе значения параметра сохранить и добавить в мою базу данных.






Это вызывает эту ошибку. Потому что, когда вы отправляете форму, столбец статуса не имеет значения внутри. проверьте отправленные вами данные формы и убедитесь, что они имеют значение. В противном случае сделайте свой столбец допускающим значение NULL с помощью $this->integer('status')->nullable();
Я не хочу быть пустым. Я хочу сохранить в базе
вы проверили предоставленные вами данные? поделитесь с нами своими результатами.
Вы ничего не выбираете из переключателя при отправке значения, поэтому статус ключа не имеет значения. Это вызывает эту ошибку, поскольку столбцу состояния в 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 });
Какой тип поля вы присвоили «статусу»?