Я обработал строку, которая используется RRULES для обработки данных. Но события не только имеют 1 повторяющееся событие, это больше, чем 1. Это мой запрос для получения таблицы событий формы recurring_pattern
$recurring_pattern = Events::where('event_type_id', 2 )
->where('is_recurring', 1)
->first();
$attributes = json_decode($recurring_pattern->recurring_pattern, true);
// dd($recurring_pattern);
$patterns = explode(';', trim($attributes['pattern'], ';'));
$rules = [
'DTSTART' => $attributes['from_date'],
'FREQ' => $attributes['freq'] + 1,
'INTERVAL' => $attributes['interval'],
];
foreach ($patterns as $pattern) {
list($key, $value) = explode('=', $pattern);
$rules[$key] = $value;
}
$rr = new RRule($rules);
foreach ($rr as $occurrence ) {
$occurrence->format('Y M d');
// dd($occurrence);
if($occurrence <= $from_date_ends && $occurrence >= $from_date_stats){
return false;
}
}
Когда я использую этот запрос, результат вывода, который я получил, составляет только 1 результат
"id" => 17
"event_title" => "dasdasd"
"event_type_id" => 2
"from_date" => "2018-10-22 12:00:00"
"to_date" => null
"is_recurring" => 1
"created_by" => "HR Manager"
"remarks" => null
"created_at" => "2018-10-30 02:45:58"
"updated_at" => "2018-10-30 02:45:58"
"recurring_pattern" => ""{\"freq\":\"1\",\"from_date\":\"2018-10-22\",\"pattern\":\"BYMONTHDAY=4;COUNT=5;\",\"interval\":\"1\"}""
И когда я обрабатываю данные, и я могу только обработать только это событие с идентификатором номер 17. Это результат, когда я получил от идентификатора 17, используя RRULES
0 => DateTime @1541289600 {#256
date: 2018-11-04 00:00:00.0 UTC (+00:00)
}
1 => DateTime @1543881600 {#277
date: 2018-12-04 00:00:00.0 UTC (+00:00)
}
2 => DateTime @1546560000 {#129
date: 2019-01-04 00:00:00.0 UTC (+00:00)
}
3 => DateTime @1549238400 {#273
date: 2019-02-04 00:00:00.0 UTC (+00:00)
}
4 => DateTime @1551657600 {#276
date: 2019-03-04 00:00:00.0 UTC (+00:00)
}
Поэтому можно попросить исправить этот код, чтобы я мог обрабатывать более двух повторяющихся событий. Спасибо