phplaraveleventsrepeatrecurring

Laravel create loop of daily event


Anyone have an idea how can I implement loop of a daily event. In my case, I have 10 event Consider it as event 1, event 2, event 3 and ....

How can I make, let say on

  1. Monday Event 1
  2. Tuesday Event 2
  3. Wednesday Event 3
  4. Thursday Event 4
  5. Friday Event 5
  6. Saturday Event 6
  7. Sunday Event 7
  8. Monday Event 8
  9. Tuesday Event 9
  10. Wednesday Event 10
  11. Thursday Event 1 (Loop back)
  12. Friday Event 2 and so on

Is there any way I can implement something like this?


Solution

  • With laravel, you can use Carbon

    You can refer code bellow

    $now = Carbon::now();
    $weekStartDate = $now->startOfWeek();
    
    $daysInMonth = $weekStartDate->daysInMonth;
    $events = ["event 1","event 2","event 3","event 4","event 5","event 6","event 7","event 8","event 9","event 10"];
    $str = "";
    for($i = 0; $i < $daysInMonth; $i++) {
      $str  .= $now->startOfWeek()->add($i, 'day')->isoFormat('dddd') . "_". $events[$i % count($events)]."\n";
      
    }
    echo $str;
    

    result

    Monday_event 1
    Tuesday_event 2
    Wednesday_event 3
    Thursday_event 4
    Friday_event 5
    Saturday_event 6
    Sunday_event 7
    Monday_event 8
    Tuesday_event 9
    Wednesday_event 10
    Thursday_event 1
    Friday_event 2
    Saturday_event 3
    Sunday_event 4
    Monday_event 5
    Tuesday_event 6
    Wednesday_event 7
    Thursday_event 8
    Friday_event 9
    Saturday_event 10
    Sunday_event 1
    Monday_event 2
    Tuesday_event 3
    Wednesday_event 4
    Thursday_event 5
    Friday_event 6
    Saturday_event 7
    Sunday_event 8
    Monday_event 9
    Tuesday_event 10
    Wednesday_event 1