добавление столбца в результат db в Laravel

добавление столбца в результат db в Laravel

26.06.2020 09:56:29 Источник

Я возвращаю некоторые результаты в своем приложении laravel, где я хочу добавить дружественный столбец времени к возвращаемым результатам, а не показывать метку времени.

То, что я хочу сделать, это если метка времени сегодня, чтобы показать время, когда она была сохранена, т. е. 09:45, если созданная вчера на основе сегодняшней даты, то я хочу показать "вчера", и если она старше, чем вчера, то я хочу показать дату "12/6/2020". Я просто не могу выработать логику, используя углерод, вот моя логика до сих пор,

protected $appends = ['friendly_date'];

public function getFriendlyDateAttribute()
{
    if($this->created_at < Carbon::now()->subDays("1") {
        return "Yesterday";
    }
}
У вопроса есть решение - Посмотреть?

Ответы - добавление столбца в результат db в Laravel / appending a column on db result in Laravel

Является ответом!
apokryfos

26.06.2020 10:10:04

Углерод предлагает полезную функцию для этого:

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
}
Закрыть X