我使用Eloquent重构旧应用程序作为DBAL / Active Record一切正常,但是当我添加"受保护的$ dates"在我的模型中,我遇到了这个令人讨厌的错误:
Warning: array_map(): An error occurred while invoking the map callback in [CUT]\vendor\illuminate\support\Collection.php on line 1024
Exception: A four digit year could not be found Data missing
这是我的模特:
class dbPazienti extends Illuminate\Database\Eloquent\Model
{
public $timestamps = false;
protected $table = 'pazienti';
protected $primaryKey = 'pkid';
protected $dates = ['DataNascita','Richiamareil','deleted_at'];
protected $fillable = ['Titolo','Nome','SecondoNome','Cognome','CodiceFiscale','Indirizzo','Cap','Localita','Provincia','Telefono','Email','Sesso','DataNascita','ComuneNascita','ProvinciaNascita','MedicoCurante','Note','Richiamareil'];
public function ecografie()
{
return $this->hasMany('dbEcografie', 'fk_idPaziente', 'pkid');
}
public function scopeMedicoDiBase($query, $mdb=0)
{
return $query->with(['ecografie' => function ($query) {
$query->where('mdb', '=', $mdb);
}]);
}
}
如果我对此行发表评论,我不会收到任何错误:
protected $dates = ['DataNascita','Richiamareil','deleted_at'];
但当然这些字段不会被视为日期
这些是数据库中这些字段的值:
我该如何解决这个问题?我做错了吗?
提前谢谢
答案 0 :(得分:0)
我对这种语言不熟悉,但我要看的第一件事就是语言是否可以将Null视为日期,如果它可以处理00:00:00。
如果你不确定你是否可以花一些时间在Google上搜索,或者可能是一种快速直观的方法来确定它是尝试用Null但是在00:00:00,反之亦然然后尝试没有。
如果在只有这两个中的一个存在时出现错误,那么这就是你的问题。如果你遇到任何一个错误,那么它们都是问题。如果你没有出现错误,那么还有其他事情发生,但是你厌倦了,也许在这个过程中学到了一些东西。