SQLSTATE [HY000]:常规错误:1364字段“status”没有默认值

时间:2018-05-05 06:05:48

标签: laravel

我有一个名为'status'的选项标签。

叶片

<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]:常规错误:1364字段'status'没有   默认值

如何选择选项值保存并添加到我的数据库中。

2 个答案:

答案 0 :(得分:0)

它抛出了这个错误。因为当您提交表单时,状态列中没有值。检查您提交的表单数据&amp;确保它有价值。否则,请使用String x= "20161012"; I want to get it as: int x=2016; int y=10; int z=12;

使列可为空

答案 1 :(得分:0)

在提交值时,您没有从单选按钮中选择任何内容,因此键状态没有任何值。由于db中的status列在插入新行时需要一个值,因此抛出此错误。

1 - 在提交状态表之前进行一些验证。

2 - 否则转到您的数据库并手动在表中将默认值设置为active / deactive / null。

3 - 否则更改表中“status属性”的属性。 (手动设为varchar)

4 - 如果您想要使用代码删除表并创建它 Laravel Schema Builder Click Here 并且使状态可以为空。

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