如何在 Laravel 中检索当前日期的数据
Posted
技术标签:
【中文标题】如何在 Laravel 中检索当前日期的数据【英文标题】:How to retrieve data of current date in Laravel 【发布时间】:2019-07-12 14:35:37 【问题描述】:我想从我在 Laravel 的数据库中检索今天的数据。
我已经用谷歌搜索并应用了几种方法,但没有得到答案。
PrescriptionTbl::whereDate('created_at', '=', $today)->get();
其中PrescriptionTbl
是模型,today
是当前日期,例如2019-2-19
。但是得到了 NULL 数组。
为了检查我使用toSQL()
而不是get()
的SQL...它在浏览器中显示在SQL下方
select * from `prescription_tbls` where date(`created_at`) = ?
我也使用了Carbon
,但也得到了一个 NULL 数组
PrescriptionTbl::whereDate('created_at', Carbon::today())->get();
如何解决?有人帮忙吗?
【问题讨论】:
你试过PrescriptionTbl::where('created_at', date('Y-m-d H:i:s'))->get();
吗?
FGDeveloper...实际上我想按日期检索数据...这就是为什么不使用H:i:s
你可以使用它; PrescriptionTbl::whereDate('created_at', date('Y-m-d'))->get();
它对我有用。
你能分享一下fileld使用的日期格式,以便我可以修改我的函数并发布答案,不要忘记添加一些示例日期
FGDeveloper....它根据您的代码工作...请提供答案,然后我会接受您的答案
【参考方案1】:
你可以使用它;
PrescriptionTbl::whereDate('created_at', date('Y-m-d'))->get();
【讨论】:
【参考方案2】:您可以通过new DateTime()
类获取它
PrescriptionTbl::whereDate('created_at', '=', (new DateTime)->format('Y-m-d'))->get();
【讨论】:
【参考方案3】:使用Carbon(使用Carbon\Carbon;)简单而漂亮
PrescriptionTbl::whereDate('created_at', Carbon::today()->toDateString())->get();
【讨论】:
【参考方案4】:你可以试试这个:
PrescriptionTbl::where('created_at', '<=', date('Y-m-d 00:00:00'))->get();
【讨论】:
Sahil Darji....我想按日期检索数据.....在我的数据库中created_at
列格式为DATETIME
【参考方案5】:
created_at 是一个时间戳,它是日期/时间格式,因此,除非您提供整个时间戳,否则相等运算符将不起作用。
您可以使用 whereDate 方法来比较日期,仅在 documentation 中提到
PrescriptionTbl::whereDate('created_at', $today)->get();
【讨论】:
它显示select * from
prescription_tbls` 其中created_at
> ?和created_at
= ?` 使用toSql()
后也得到NULL 结果【参考方案6】:
您可以使用whereBetween
,其中您可以提供今天的开始日期为2019-01-01 00:00:00
,结束日期为2019-01-01 23:59:59
供参考 How to query between two dates using Laravel and Eloquent ORM?
【讨论】:
以上是关于如何在 Laravel 中检索当前日期的数据的主要内容,如果未能解决你的问题,请参考以下文章
React 应用程序使用 Laravel 进行 API 和用户登录。关于从数据库中检索当前登录用户的问题