3 回答

TA贡献2012条经验 获得超12个赞
当您设置 dateFormat 属性时,您正在定义日期在数据库中的存储方式以及模型序列化时它们的格式。
当您访问模型上的生日属性时,您仍将获得一个 carbon 实例,该实例可用于以您想要的任何方式格式化生日。
请注意, dateFormat 还将更改您的birth_date 属性的格式。
同时在模型中声明:
class ModelName extends Model
{
protected $casts = [
'birth_date' => 'datetime:d/m/Y', // Change your format
];
}

TA贡献1804条经验 获得超8个赞
您应该在迁移中使用它:
$table->date('birth_date');
日期总是以相同的格式存储在数据库中。例如,关于 DATE 数据类型的MySQL 文档说:
支持的范围是“1000-01-01”到“9999-12-31”。
您的应用程序可以将日期更改为您想要的格式。有不同的方法可以实现这一点。在您的观点中,您可以使用format():
{{ $user->birth_date->format('dd, mm, YY') }}
// or if birth_date can be NULL:
{{ optional($user->birth_date)->format('dd, mm, YY') }}
作为替代方案,你可以使用一个访问者在你的模型:
public function getBirthDateAttribute($date)
{
if (is_null($date)) {
return null;
} else {
return Carbon::parse($date)->format('dd, mm, YY');
}
}

TA贡献1815条经验 获得超10个赞
$table->date('birth_date');
您可以在此处保存数据格式(Ymd),例如 (2019-12-31) 然后当您获得此格式时,您可以显示您想要的格式。
其他方式,如果你认为
$table->string('birth_date');
然后保存数据格式(Ymd),如(2019-12-31)。
当您尝试显示您想要的数据格式时,只需使用 Carbon\Carbon 并格式化您的日期
- 3 回答
- 0 关注
- 268 浏览
添加回答
举报