Ошибка в обработке многих повторяющихся событий в Laravel - PullRequest
0 голосов
/ 31 октября 2018

Я обработал строку, которая используется 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)
    }

Поэтому можно попросить исправить этот код, чтобы я мог обрабатывать более двух повторяющихся событий. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...