php - laravel 获取 5 小时后的数据
问题描述
您好,这是我的 laravel 项目,我想在其中获取 5 小时之前的数据。我该怎么做,请给我一个解决方案。
谢谢
$date = new \DateTime();
$date->modify('6 hours');
$formatted_date = $date->format('Y-m-d H:i:s');
if (Auth::user()->role == 'seller'){
$orders = Order::where('seller_id', Auth::user()->id)->where('status', '0')->get();
}
if (Auth::user()->role == 'curier'){
$orders = Order::where('curier_id', Auth::user()->id)->where('status', '0')->get();
}
if (Auth::user()->role == 'superadmin' || Auth::user()->role == 'manager'){
$orders = Order::where('status', '0')->get();
}
return view($this->view_page_url.'ready_ship', compact('orders'));`
解决方案
早于 5 小时的数据,因此它created_at
是不到 5 小时前的数据。
你可以Carbon::now()->subHours(5)
用来获取时间,
然后获取数据:
$datetime = \Carbon\Carbon::now()->subHours(5)->format("Y-m-d H:i:s");
if (Auth::user()->role == 'seller'){
$orders = Order::where('seller_id', Auth::user()->id)->where('status', '0');
}
if (Auth::user()->role == 'curier'){
$orders = Order::where('curier_id', Auth::user()->id)->where('status', '0');
}
if (Auth::user()->role == 'superadmin' || Auth::user()->role == 'manager'){
$orders = Order::where('status', '0');
}
$orders = $orders->where('created_at', '<=', $datetime)->get();
推荐阅读
- python - 如何使用 % 打印一大串数字?
- next.js - 样式表中的背景图像未加载 Nextjs
- regex - 正则表达式 - 匹配所有点“。” 在给定字符串中的“=”之前
- javascript - 在 React.js 中实现路由器以更改页面
- mysql - MYSQL 使用 SUM 更新同一张表
- azure - 为什么在生产中使用 CreateDatabaseIfNotExistsAsync 和其他类似的?
- python-3.x - 熊猫数据框中的余弦相似度行
- javascript - NodeJS:UnhandledPromiseRejectionWarning
- android - 如何在 androids GoogleSignIn 上获取刷新令牌?
- python - AttributeError:模块'pickle'在python中没有属性'load'