Laravel 查询生成器 - 日期现在在哪里使用碳

Posted

技术标签:

【中文标题】Laravel 查询生成器 - 日期现在在哪里使用碳【英文标题】:Laravel Query Builder - Where date is now using carbon 【发布时间】:2016-03-18 18:13:42 【问题描述】:

如何仅获取数据库列上的日期,我在控制器上使用 Carbon 时遇到困难:

$data['nowUser'] = User::where('date', Carbon::today()->toDateString())->get();

数据库中的日期列如下所示:

【问题讨论】:

【参考方案1】:

这是一个DATETIME 列,因此无需额外格式化Carbon 实例。但是,如果要获取 date 列包含今天日期的所有用户,则需要使用 whereDate

$data['nowUser'] = User::whereDate('date', '=', Carbon::today())->get();

因为当您将Carbon::today() 传递给Query Builder 方法时,__toString 方法将被自动调用并返回一个DATETIME 字符串,其格式来自Carbon::DEFAULT_TO_STRING_FORMAT,这正是mysql 格式Y-m-d H:i:s

【讨论】:

以上是关于Laravel 查询生成器 - 日期现在在哪里使用碳的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:如何优化多个查询

请帮我将此查询转换为laravel [关闭]

Laravel 查询获取尚未存在真实数据的日期的虚拟数据

如何在 laravel 查询生成器中为同一列构建多个条件的查询?

如何在 laravel 中使用查询生成器根据 id 从多个表中获取数据

Laravel 查询生成器介于两者之间