当保存我的表单时,它会正确保存所有内容,但如果表单中的值为空白,则即使该列设置为允许空值,它也将无法保存。保存模型时,MySQL/Laravel处理空值
因此,让它工作的唯一方法似乎是检查值是否存在,否则手动将其设置为空(见下文)。
$model = \Blah\Model::where(blahblah)->first;
$model->value = $value ? $value : null;
$model->save();
我不得不这样做虽然也只是因为如果值为0(零),将它设置为null,因为PHP的方式解释条件语句的问题。
我不想为每个模型中的每个值都做这件事。那么是否有办法使它正确处理空值,以便如果该字段为空,则会将空值保存到该列的模型中,而不是给我一个错误?
所以基本上有一种方法来正确处理SQL/Eloquent中的空值,将保持0值,如果它是空白,正确保存空值?
编辑:生成的查询
General error: 1366 Incorrect integer value: '' for column 'Strength' at row 1 (SQL: update `playerstats` set `Strength` = where `id` = 1)
@ccloyed提laravel版本好吗? –
如果保存失败,日志文件中的错误消息是什么?并请展示您的模型! – Webdesigner
请提供生成的SQL。 –