问题描述
我对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;
}
参考: