错误无法在laravel中工作并在数据库中给出列错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误无法在laravel中工作并在数据库中给出列错误相关的知识,希望对你有一定的参考价值。
我有一些插入数据的输入。当我填写所有输入然后它的工作成功,但当我试图插入空输入然后它给我这个错误完整性约束违反:1048列'星期一'不能为空
现在我也请求这个表单,并提出所需的一切,并试图显示错误但这也无法正常工作。我不知道我的代码有什么问题。以下是我的代码。请检讨一下:)
//控制器
public function store(Request $request)
{
$timetable = $request->all();
Timetable::create($timetable);
return redirect()->back();
}
//视图
<div class="ml-4 mr-4 py-3">
{!! Form::open(['method'=>'POST', 'action'=>'TimetableController@store', 'class' => 'mb-5']) !!}
<div class="form-group">
{!! Form::label('class_id', 'Class', ['class'=>'control-label display-4']) !!}
{!! Form::select('class_id', [''=>'Choose Class'] + $classes, null, ['class'=>'form-control']) !!}
</div>
<div class="row">
<div class="col-md-12">
<table class=" table table-bordered table-hover table-sortable">
<thead>
<tr>
<th class="text-center">Period</th>
<th class="text-center">Monday</th>
<th class="text-center">Tuesday</th>
<th class="text-center">Wednesday</th>
<th class="text-center">Thursday</th>
<th class="text-center">Friday</th>
<th class="text-center">Saturday</th>
</tr>
</thead>
<tbody>
<tr>
<td style="width: 10%;">
{!! Form::text('period', null, ['class'=>'form-control', 'placeholder' => 'Period name']) !!}
</td>
<td style="width: 15%;">
{!! Form::textarea('monday', null, ['class'=>'form-control', 'rows'=>2, 'placeholder' => 'Class timing, Teacher name, Subject name']) !!}
</td>
<td style="width: 15%;">
{!! Form::textarea('tuesday', null, ['class'=>'form-control', 'rows'=>2, 'placeholder' => 'Class timing, Teacher name, Subject name']) !!}
</td>
<td style="width: 15%;">
{!! Form::textarea('wednesday', null, ['class'=>'form-control', 'rows'=>2, 'placeholder' => 'Class timing, Teacher name, Subject name']) !!}
</td>
<td style="width: 15%;">
{!! Form::textarea('thursday', null, ['class'=>'form-control', 'rows'=>2, 'placeholder' => 'Class timing, Teacher name, Subject name']) !!}
</td>
<td style="width: 15%;">
{!! Form::textarea('friday', null, ['class'=>'form-control', 'rows'=>2, 'placeholder' => 'Class timing, Teacher name, Subject name']) !!}
</td>
<td style="width: 15%;">
{!! Form::textarea('saturday', null, ['class'=>'form-control', 'rows'=>2, 'placeholder' => 'Class timing, Teacher name, Subject name']) !!}
</td>
</tr>
</tbody>
</table>
</div>
</div>
{{--<a class="fas fa-folder-open btn btn-success float-right mb-4"> Save</a>--}}
{!! Form::button(' Save', ['type'=>'submit', 'class'=>'fas fa-folder-open btn btn-success float-right mb-4']) !!}
{{--<a id="add_row" class="fas fa-plus-square btn btn-warning float-right mb-4 mr-2"> Add Row</a>--}}
@include('includes.form_errors')
{!! Form::close() !!}
</div>
答案
嗯,错误是显而易见的。返回迁移,找到monday
列,并添加->nullable()
。
示例:$table->string('monday')->nullable();
以上是关于错误无法在laravel中工作并在数据库中给出列错误的主要内容,如果未能解决你的问题,请参考以下文章
ctypes.cast 在 python2 中工作并在 python3 中抛出 ArgumentError
代码在调试中工作并从 Visual Studio 运行,但是发布模式会出错
无法让 Laravel OrderBy 日期在 Eloquent 语句中工作