将用户的时区应用于Laravel

时间:2017-01-26 23:59:02

标签: php mysql laravel timezone

在Laravel 5.3中,我写了一个专门用于循环用户账单的集合,并确定它们是否在给定的时间范围内付款。

return $dates->map(function ($item, $key) use ($interval) {
    $bills = DB::table('bills')
    ->where('provider_id', Auth::user()->company()->first()->id)
    ->whereBetween(
        'date_paid', [$item, $this->returnRangeFromInterval($item, $interval)]
    )
    ->where('status', 'paid')
    ->get();
    return $bills->pluck('amount_due')->sum();
});

date_paid属性存储为UTC,但要返回准确的总和,我需要将该日期转移到用户的时区 - 我已存储在User对象上。我怎么能在上面的集合中完成这个?

如果绝对必要,我似乎可以使用名为convert_tz的MYSQL方法,但我首先感兴趣的是" Laravel Way"。

1 个答案:

答案 0 :(得分:0)

收集救援。我能够使用function sum(a) { return arguments.length ? function fn(b) { if (!arguments.length) { return a; } a += b; return fn; } : 0; } console.log(sum()); console.log(sum(1)()); console.log(sum(1)(2)()); console.log(sum(1)(2)(3)());修改有问题的属性,然后返回包含该修改属性的帐单集合。同时也减少了我的查询次数。

map