php - SQLSTATE [23000]:违反完整性约束:1048 列 'feature_item' & ''status' 不能为空
问题描述
在我检查复选框时的表单中没有错误。但是当我不想检查复选框时,我收到错误 SQLSTATE[23000]: 1048 Column 'feature_item' & ''status' cannot be null。
1.我的产品表:-
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->increments('id');
$table->integer('category_id');
$table->string('product_name');
$table->string('product_code');
$table->string('product_color');
$table->text('description');
$table->boolean('feature_item')->default(0);
$table->boolean('status')->default(0);
$table->timestamps();
});
}
2.my product.blade.php 这是我的表单
<div class="control-group">
<label class="control-label">Feature Item</label>
<div class="controls">
<input type="checkbox" name="feature_item" id="feature_item" value="1">
</div>
</div>
<div class="control-group">
<label class="control-label">Status</label>
<div class="controls">
<input type="checkbox" name="status" id="status" value="1">
</div>
</div>
3.我的产品控制器
public function addproduct(Request $request){
$product->category_id=$request['category_id'];
$product->product_name=$request['product_name'];
$product->product_code=$request['product_code'];
$product->product_color=$request['product_color'];
$product->description=$request['description'];
$product->feature_item=$request['feature_item'];
$product->status=$request['status'];
if (!empty($request['description'])) {
$product->description = $request['description'];
} else {
$product->description = '';
}
if(empty($request['feature_item'])){
$feature_item='0';
}else{
$feature_item='1';
}
$product->status=$request['status'];
if (empty($request['status'])) {
$status = '0';
} else {
$status = '1';
}
$product->save();
return back()->with('success','product Upload Successfully!');
}
我得到这个错误:
SQLSTATE [23000]:违反完整性约束:1048 列 'feature_item' & 'status' 不能为空
有什么帮助吗?
解决方案
这是因为当您不检查复选框时,
没有任何内容发送到您的控制器,名称为feature_item
&status
然后您在控制器中的方法尝试插入数据库nothing
中的feature_item
&解决方案status
1:
修改 DATABASE
可以修改数据库中的表并设置 & 字段的false
默认feature_item
值status
;
2:
像这样检查控制器中的这两个字段
if (empty($request['feature_item']))
$product->feature_item = '0';
if (empty($request['status']))
$product->status = '0';
推荐阅读
- sql - 如何在没有 à 分组的情况下将虚构行添加到 Oracle 中的 SQL 结果
- coq - 如何在 Coq 的列表末尾进行归纳
- sql - SQL Server 复合唯一键性能
- python - 0D0D 在 binascii.hexlify(file.read()) 上变成 0D
- sql - 在 Oracle 数据库中使用 Oracle SQL*Plus 文件 [Intellij]
- c - 从 C 中的字符串中提取十进制数会导致分段错误
- javascript - javascript Promise 中的 CompletableFuture.get() 等效项?
- c# - 在 WPF 中的 SelectedItemChange 事件中获取节点(项目)树视图的文本
- ruby - 如何使用多个 Page-Object 小部件
- vue.js - 对话框显示后加载对话框内的图像