雄辩-可空日期列返回为0000-00-00



我在Eloquent模型中遇到了一个问题。我的数据库列定义为

date_to date null

在迁移中也定义为nullable()

当我选择一个数据库记录(无论是用查询生成器还是直接通过find($id)),$model->date_to的值总是由Eloquent返回为0000-00-00(在MySQL中,这一列正确设置为NULL)。

我错过了什么吗?我对雄辩没有经验。


这是我的模型:

<?php
use IlluminateDatabaseEloquentModel;
class MyModel extends Model
{
protected $table = 'table_name';
public $timestamps = false;
protected $fillable = [
'member_id',
'date_from',
'date_to',
];
protected $dates = [
'date_from',
'date_to',
];
}

表结构:

create or replace table table_name
(
id bigint unsigned auto_increment
primary key,
member_id int not null,
date_from date null,
date_to date null,
)
charset=utf8;


更新

作为临时修复,我使用:


public function getDateToAttribute($value)
{
if ($value == '0000-00-00') {
return null;
}
return $value;
}
public function getDateFromAttribute($value)
{
if ($value == '0000-00-00') {
return null;
}
return $value;
}
protected $casts = [
'date_from' => 'date:Y-m-d',
'date_to' => 'date:Y-m-d',
];

你曾经试过像上面那样投射吗?

相关内容

  • 没有找到相关文章

最新更新