Преобразовать данные, хранящиеся в БД в строковом формате, в объект datetime - PullRequest
0 голосов
/ 30 октября 2018

Данные, которые внешний интерфейс хранит информацию в базе данных, выглядит следующим образом:

"recurring_pattern": "{\"freq\":\"1\",\"from_date\":\"2018-10-22\",\"pattern\":\"BYMONTHDAY=4;COUNT=5;\",\"interval\":\"1\"}"

И я пошагово выполняю преобразование строки в столбце recurring_pattern в объект datetime. Сначала я проверяю, что событие повторяется, и event_type_id равен 2

$recurring_pattern = Events::select('recurring_pattern')
        ->where('event_type_id', 2)
        ->where('is_recurring', 1)
        ->first();

Когда я использую dump ($ recurring_pattern), они все равно показывают данные, но я не могу использовать RRule для преобразования столбца данных recurring_pattern в datetime.

Я установил RRule. Я сравниваю введенный день с recurring_pattern. Спасибо

1 Ответ

0 голосов
/ 30 октября 2018

Вы должны использовать PHP-RRule , чтобы проанализировать строку на стороне сервера и выполнить сравнение.

Пример:

use RRule\RRule;

$recurring_pattern = Events::select('recurring_pattern')
                        ->where('event_type_id', 2)
                        ->where('is_recurring', 1)
                        ->first();
$rrule = new RRule(json_decode($recurring_pattern['recurring_pattern']));

// Use PHP-RRule Functions To Do Comparing
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...