Skip to content

Recurring Events ​

Add two JSON columns ​

php
$table->json('recurrence')->nullable();
$table->json('recurrence_exceptions')->nullable();

Cast both to array ​

php
protected function casts(): array
{
    return ['recurrence' => 'array', 'recurrence_exceptions' => 'array'];
}

Point the scheduler at them ​

php
$scheduler->recurrenceAttribute('recurrence');

How it behaves ​

  • The built-in form gains a Repeat section: daily, weekly on chosen days, monthly or yearly, with an interval, an end date or a count.
  • Dragging an occurrence asks whether to move just that event or the whole series.
  • Moving or editing a single occurrence detaches it into its own record and adds an exception to the series.

Use RecurrenceField::field() in your own form schema.