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

在 Laravel 中的数据库结果上附加一列

在 Laravel 中的数据库结果上附加一列

PHP
江户川乱折腾 2023-07-01 09:38:51
我在 Laravel 应用程序中返回一些结果,我想在返回的结果中添加一个友好的时间列,而不是显示时间戳。我想要做的是,如果时间戳是今天,则显示保存的时间,即 09:45,如果昨天根据今天的日期创建,那么我想显示“昨天”,如果它比昨天旧,那么我想要显示日期“12/6/2020”。我只是无法使用 Carbon 计算出逻辑,这是到目前为止我的逻辑,protected $appends = ['friendly_date'];public function getFriendlyDateAttribute(){    if($this->created_at < Carbon::now()->subDays("1") {        return "Yesterday";    }}
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

Carbon 提供了一个实用函数来做到这一点:


protected $appends = ['friendly_date'];


public function getFriendlyDateAttribute()

{

    if ($this->created_at->isToday()) {

        return $this->created_at->format('H:i');

    }

    if($this->created_at->isYesterday()) {

        return "Yesterday";

    }

    return $this->created_at->format('d/m/y'); // Assuming this is what 12/6/2020 means

}


查看完整回答
反对 回复 2023-07-01
  • 1 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信