为了账号安全,请及时绑定邮箱和手机立即绑定

表中的 Laravel 日期格式

表中的 Laravel 日期格式

PHP
LEATH 2021-12-24 15:47:37
我正在尝试在 laravel 中编辑迁移,以便出生日期获得所需的格式。现在我已经在论坛上搜索了,但没有人解决我的问题(或者我很愚蠢)下面代码中使用的格式似乎不起作用,因为我在格式的 dd 部分出现错误。我尝试了几种解决方案,包括编辑模型以重新格式化日期,但这没有任何作用。$table->date(dd, mm, YY)('birth_date');
查看完整描述

3 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

当您设置 dateFormat 属性时,您正在定义日期在数据库中的存储方式以及模型序列化时它们的格式。


当您访问模型上的生日属性时,您仍将获得一个 carbon 实例,该实例可用于以您想要的任何方式格式化生日。


请注意, dateFormat 还将更改您的birth_date 属性的格式。


同时在模型中声明:


class ModelName extends Model

{      

 protected $casts = [

    'birth_date' => 'datetime:d/m/Y', // Change your format

];

}


查看完整回答
反对 回复 2021-12-24
?
胡说叔叔

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');

    } 

}


查看完整回答
反对 回复 2021-12-24
?
动漫人物

TA贡献1815条经验 获得超10个赞

$table->date('birth_date');

您可以在此处保存数据格式(Ymd),例如 (2019-12-31) 然后当您获得此格式时,您可以显示您想要的格式。

其他方式,如果你认为

$table->string('birth_date');

然后保存数据格式(Ymd),如(2019-12-31)。

当您尝试显示您想要的数据格式时,只需使用 Carbon\Carbon 并格式化您的日期


查看完整回答
反对 回复 2021-12-24
  • 3 回答
  • 0 关注
  • 268 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号