我修改了模型的date属性以计算生日,但是现在当日期以我的形式加载时(我使用Form Collective),我得到的像是1979-07-17 00:00:00正确的输出应该是1979-07-17

protected $dates = ['geburtstag'];

   public function age()
    {
        return $this->geburtstag->diffInYears(Carbon::now());
    }


我试图从模型修改

protected $geburtstagFormat = 'Y-m-d';

但没有帮助。

我在这种情况下做错了什么

最佳答案

为什么不只使用$model->geburtstag->format('Y-m-d')

您还可以在模型中创建mutaror,例如:

public function getGeburstagDateAttribute($value) {
    return $this->geburtstag->format('Y-m-d');
}


并像这样使用它:

$model->geburtstag_date // outputs geburtstag date in 'Y-m-d' format


要在模型中设置日期格式,请在模型内部使用protected $dateFormat = 'Y-m-d';

10-07 13:22