我的表sample
中有一个字段,该字段有默认值,但此字段不接受NULL
值。
当我更新我的表单时,如果我将这些字段留空
$model->update($request->all());
正在返回错误
列'sample'不能为null(SQL:update
mytable
setupdated_at
= 2018-04-28 11:13:46,sample
=,name
='test'其中id
= 1)
使用非填充字段的默认值更新模型的最佳方法是什么?
答案 0 :(得分:1)
您可以使用数组过滤器函数过滤$ request数组以消除空输入值:
$model->update(array_filter($request->all()));
答案 1 :(得分:0)
我认为您首先检查示例字段获取null
然后设置默认值。
if (empty($request->get('sample', null))) {
$request->replace(['sample' => '-- Your default value --']);
}
然后,
$model->update($request->all());
感谢。
答案 2 :(得分:0)
使用此功能从输入中删除null
值:
$input = array_filter($request->all(), function($value) {
return !is_null($value);
});
$model->update($input);