Laravel Eloquent 模型的实用日期范围
发布于 作者 Paul Redmond
Laravel 日期范围 包为您的 Laravel Eloquent 模型提供了一些有用的查询范围。它受到 Livewire 创建者 Caleb Porzio 的这条推文的启发
如果 Eloquent 有这些,那就太棒了,对吧? pic.twitter.com/qjOD5vv68y
— Caleb Porzio (@calebporzio) 2023 年 4 月 7 日
这条推文启发了 Moumen Alisawe 的文章 Laravel Eloquent 模型:如何使用 Traits 像专业人士一样按日期过滤。然后它启发了 日期范围 包。
正如在自述文件中发现的,在给定以下模型的情况下,请按如下方式添加 DateScopes
特性
use LaracraftTech\LaravelDateScopes\DateScopes; class Transaction extends Model{ use DateScopes;}
这为您提供了大量基于时间的范围。以下示例适用于各种小时范围,并且还有类似的方法用于秒、分钟、天、周、月、年、十年等等
// query transactions created during the last hourTransaction::ofLastHour(); // query transactions created during the last 6 hoursTransaction::ofLast6Hours(); // query transactions created during the last 12 hoursTransaction::ofLast12Hours(); // query transactions created during the last 18 hoursTransaction::ofLast18Hours(); // query transactions created during the last 24 hoursTransaction::ofLast24Hours(); // query transactions created during the last N hoursTransaction::ofLastHours(48);
以下是如何使用 lastYear()
日期范围获取过去一年的所有交易的示例
$transactions = Transaction::lastYear()->get();
我喜欢这个想法是如何通过 Laravel 社区中多个人的贡献而建立起来的。从灵感到示例,再到您可以轻松地安装到 Laravel 应用程序中的包!👏
要开始使用,您可以详细了解此软件包,获取完整的安装说明,并在 GitHub 上查看 源代码。