问题描述
我在Homestead Vagrant盒上使用Laravel 5.1,在Ubuntu 18.04上使用MysqL 5.7.25的PHP 7.2.14。
我以此创建了迁移:
$table->date('expiry_date')->nullable()->default(null);
我有一个表单,其日期字段称为expiry_date
,默认设置为null:
{!! Form::date('expiry_date',null,array('class' => 'form-control')) !!}
当我在字段中输入日期时,一切正常,但是当我将其保留为空白时,会将0000-00-00
插入数据库,这会弄乱我视图中的显示。我能够修复它的唯一方法是将其添加到模型中:
public function setExpiryDateAttribute($value)
{
$this->attributes['expiry_date'] = $value ?: null;
}
我很烦我必须要做这个额外的步骤,而且感觉不太“ Laravel”,这使我相信自己缺少了一些东西。
有趣的是,它在我的自定义请求中通过了验证:
'expiry_date' => 'date',
编辑:
我在模型中设置了protected $dates ['expiry_date']
,并且它也已添加到批量分配中。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)