答案是使用 whereDate 和 whereMonth 方法可按日期或月份筛选数据,如 User::whereDate('created_at', '2024-04-05') 查询指定日期记录,User::whereMonth('created_at', 5) 查询 5 月数据,支持比较操作和链式组合条件。

在 Laravel 的 Eloquent 模型中,你可以直接使用 whereDate 和 whereMonth 方法来对日期字段进行条件查询。这些方法属于 Laravel 查询构造器的一部分,适用于处理 MySQL 中的 DATE、DATETIME 类型字段。
当你需要根据日期(年-月-日)筛选数据时,比如查找某一天创建的所有用户:
User::whereDate('created_at', '2024-04-05')->get();
这会生成类似 SQL:
SELECT * FROM users WHERE DATE(created_at) = '2024-04-05';
你也可以使用比较操作符:
User::whereDate('created_at', '>=', '2024-01-01')->get();
如果你只想按月份筛选,比如查找所有在 5 月注册的用户:
User::whereMonth('created_at', '5')->get();
支持补零写法,以下等价:
whereMonth('created_at', 5)whereMonth('created_at', '05')也支持比较操作:
User::whereMonth('created_at', '>=', 3)->get(); // 第二季度及以后
你可以链式调用这些方法实现更复杂的查询,例如查找 2024 年 4 月注册的用户:
User::whereYear('created_at', 2024)
->whereMonth('created_at', 4)
->get();
或者结合 whereDate 精确到天:
User::whereDate('created_at', '>=', '2024-04-01')
->whereDate('created_at', '<=', '2024-04-30')
->get();
created_at、updated_at 或自定义的 datetime 字段。基本上就这些,Laravel 的 whereDate 和 whereMonth 让日期查询变得非常直观和简洁。
以上就是laravel怎么在Eloquent模型中使用whereDate和whereMonth_laravel Eloquent whereDate/whereMonth使用方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号