php - 如何修复错误 > 完整性约束违规:1048 列“状态”不能为空
问题描述
我正在尝试编辑订单表中的状态字段。我得到这样一个错误:SQLSTATE [23000]:完整性约束违规:1048 列'状态'不能为空(SQL:更新feedbacks
集status
=?,feedbacks
。updated_at
= 2021-02-24 11:24:35 where id
= 3)“
我的 edit_feedback.blade.php :
<div class="modal fade" id="edit_feedback" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Formular de editare a unui feedback</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form id="feedback_form" method="GET" >
{{ csrf_field() }}
<div class="modal-body">
<input type="hidden" name="feedback_id" id="feedback_id">
<div class="form-group">
<label>
Status
</label>
<input type="text" name="feedback_status" id="feedback_status" class="form-control" placeholder="public/private" required>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Renunță</button>
<button type="submit" name="submit" class="btn btn-primary">Editează</button>
</div>
</form>
</div>
</div>
</div>
我的路线:
Route::get('/feedback/{id}/edit','App\Http\Controllers\DashboardController@feedback_edit');
我的控制器:
public function feedback_edit(Request $request, $id)
{
$feedbacks = Feedbacks::find($id);
$feedbacks->status = $request->input('feedback_status');
$feedbacks->save();
return response()->json(['status' => 1, 'msg' => 'Feedback-ul a fost editat cu succes']);
}
我的 jQuery/ajax :
$('#feedback_form').on('submit',function(e)
{
e.preventDefault();
$.ajax({
method: $(this).attr('method'),
url: '/feedback/'+$('#feedback_id').val()+'/edit',
data: new FormData(this),
processData: false,
dataType: 'json',
contentType: false,
complete: function(r) {
var data = r.responseJSON;
if (data.status == 0) {
console.log('error');
} else {
$('#feedback_form')[0].reset();
$('#edit_feedback').modal('hide');
// location.reload();
// alert(data.msg);
}
}
});
});
});
解决方案
替换$request->input('feedback_status')
为实际提供价值的东西。
例如。试着$data = request()->all();
看看那里有什么。
推荐阅读
- google-cloud-platform - 如何输入一次谷歌云凭据而不再被询问?
- android - 错误:包 com.android.dx.stock 不存在
- c# - Azure 在 5m 处超时连接,使用保持活动状态?
- python - Skimage.transform.resize 输出未对齐的图像映射
- jupyter-notebook - 如何在地图上显示标签,而不是在 Jupyter Notebook 的 IpyLeaflet 的 VBox 中?
- c# - 如何通过值 3 检查一个数字是否高于另一个数字?
- google-apps-script - 抱歉,无法提交表单回复。当表单正在收集电子邮件地址时,formResponse.submit() 不起作用
- python-3.x - 在 Pandas DataFrame 中使用来自同一列且在另一列中具有匹配值的值填充空值
- sas - 带有日期桶的 SAS 平均值
- javascript - 调整窗口大小时画布元素没有响应