使用 Laravel Recurring Models 创建可重复模型
发布于 作者: Paul Redmond
有时您需要数据在特定日期间隔重复,例如一个定期日历约会、一个每周事件或一个付款计划。 Laravel 的 Recurring Models 软件包是为 Laravel 模型添加循环功能的终极解决方案。
$model->repeat()->daily();$model->repeat()->weekly(); $model->repeat()->weekly() ->on(['sunday', 'monday', 'tuesday']);
当您重复模型时,开始日期是使用模型上的 startsAt()
方法计算的。或者,您可以按照以下步骤指定开始日期:
$model->repeat()->daily()->startsAt(Carbon::make());
您还可以设置一个结束日期,循环模型应该在该日期结束。
$model->repeat()->daily()->endsAt( Carbon::make('2023-06-01'));
一旦您有了循环数据,就可以使用软件包提供的范围来检索它。
$tasks = Task::whereOccurresOn( Carbon::make('2023-05-01'))->get(); // Between$tasks = Task::whereOccurresBetween( Carbon::make('2023-05-01'), Carbon::make('2023-05-30'))->get();
这个新的软件包可以作为简化需要重复日期的模型的绝佳灵感。要开始使用此软件包,请查看 源代码。在 GitHub 上。