保存我的表单时,它会正确保存所有内容,但是,即使表单中的值设置为空,即使表单中的值为空白,也将无法保存。

结果,使其生效的唯一方法似乎是检查该值是否存在,否则手动将其设置为null(如下所示)。

$model = \Blah\Model::where(blahblah)->first;
$model->value = $value ? $value : null;
$model->save();


我也有这样做的问题,只是因为如果值是0(零),则由于php解释条件表达式的方式会将其设置为null。

我不想为每个模型中的每个值都执行此操作。那么有没有办法使其正确处理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)

最佳答案

在模型上的valuenullable

并使用$model->value = isset( $value ) ? $value : null;

07-26 00:00
查看更多