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

我在 Laravel 应用程序中返回一些结果,我想在返回的结果中添加一个友好的时间列,而不是显示时间戳。


我想要做的是,如果时间戳是今天,则显示保存的时间,即 09:45,如果昨天根据今天的日期创建,那么我想显示“昨天”,如果它比昨天旧,那么我想要显示日期“12/6/2020”。我只是无法使用 Carbon 计算出逻辑,这是到目前为止我的逻辑,


protected $appends = ['friendly_date'];


public function getFriendlyDateAttribute()

{

    if($this->created_at < Carbon::now()->subDays("1") {

        return "Yesterday";

    }

}


江户川乱折腾
浏览 116回答 1
1回答

四季花海

Carbon 提供了一个实用函数来做到这一点:protected $appends = ['friendly_date'];public function getFriendlyDateAttribute(){&nbsp; &nbsp; if ($this->created_at->isToday()) {&nbsp; &nbsp; &nbsp; &nbsp; return $this->created_at->format('H:i');&nbsp; &nbsp; }&nbsp; &nbsp; if($this->created_at->isYesterday()) {&nbsp; &nbsp; &nbsp; &nbsp; return "Yesterday";&nbsp; &nbsp; }&nbsp; &nbsp; return $this->created_at->format('d/m/y'); // Assuming this is what 12/6/2020 means}
打开App,查看更多内容
随时随地看视频慕课网APP