postgresql 如何在查询中+5小时日期选择laravel

vcudknz3  于 2022-12-26  发布在  PostgreSQL
关注(0)|答案(1)|浏览(124)

我有一个这样的问题。希望任何人都可以帮助,非常感谢!!!我想为开始日期+5小时,而开始日期是没有添加时间将不会被检索
我的代码:

$data = Ticket::
                selectRaw(strtotime('+5 hours','start_date'))
                ->limit($request->limit)
                ->offset($request->offset)
                ->get();
tzdcorbm

tzdcorbm1#

您可以在Ticket模型中定义具有start_date的访问者

use Carbon\Carbon;
...
    /**
     * Get the start date.
     *
     * @param  string  $value
     * @return string
     */
    public function getStartDateAttribute($value)
    {
        return Carbon::parse($value)->addHours(5);
    }

并从查询中删除选择

$data = Ticket::limit($request->limit)
                ->offset($request->offset)
                ->get();

如果使用start_date属性,则返回值加5小时

$ticket->start_date

请注意,上面的方法将在您使用它的所有地方覆盖start date,因此如果您只想在一个地方使用它,请将Accessor方法更改为另一个属性。

public function getStartDateAddingHoursAttribute($value)
{
   return Carbon::parse($value)->addHours(5);
}

然后用

$ticket->start_date_adding_hours

相关问题