Laravel返回状态

问题描述

我对laravel很陌生。而且我觉得有一种更好的方法来实现以下维持状态的逻辑。

 public function getstatusAttribute ()
{
    $start = $this->start_date->format('Y-m-d');
    $end = $this->end_date->format('Y-m-d');
    $current_date = now()->toDateTimeString('Y-m-d');

    if ($end < $current_date) {
        return 'finished';
    } elseif ($start < $current_date && $current_date < $end) {
        return 'ongoing';
    } else {
        return 'pending';
    }
}

有人可以帮我吗?

解决方法

正如Hirumina的回答所建议的那样,我个人将使用Carbon PHP库。

如果不想使用它,可以改为比较UNIX时间戳,如下所示:

function average(arr) {
  var total = 0;
  for (i = 0; i < arr.length; i++) {
    total += arr[i]
  }
  return total / arr.length;
}

参考:

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...