保存表单时,它会正确保存,但如果表单中的值为空,则无法保存,即使该列设置为允许为空。
因此,让它工作的唯一方法似乎是检查值是否存在,否则手动将其设置为null(见下文)。
$model = \Blah\Model::where(blahblah)->first;
$model->value = $value ? $value : null;
$model->save();
我也有这样做的问题,因为如果一个值为0(零),由于php解释条件的方式,它会将它设置为null。
我不想为每个模型中的每个值做这个。那么有没有办法让它正确处理空值,这样如果该字段为空,它将在该列的模型中保存null而不是给我一个错误?
所以基本上有一种方法可以正确处理SQL / eloquent中保留0值的空值,如果它是空白的,那么正确保存空值吗?
编辑:生成的查询
General error: 1366 Incorrect integer value: '' for column 'Strength' at row 1 (SQL: update `playerstats` set `Strength` = where `id` = 1)
答案 0 :(得分:0)
您应该使用以下代码:
$model = \Blah\Model::where(blahblah)->first;
if($modal->value == "0") {
$model->value = 0;
}
else{
$model->value = NULL;
}
$model->save();
答案 1 :(得分:0)
在模型IO [Rectangle]
value
列
并使用nullable