link_web
@link_web
Magento, Laravel, Zend, Shopify, Prestashop, WP

Teeeeeeeeeeeest?

testtesttesttesttesttesttesttesttesttest
  • Вопрос задан
  • 266 просмотров
Решения вопроса 2
@BorisKorobkov
Web developer
Вариант 1
По крону в полночь добавляйте в БД заглушку на будущий день. При добавлении события удаляйте заглушку этого дня.

Вариант 2
По крону в полночь добавляйте заглушку в БД за прошлый день, если нет ни одного события за этот день.

Вариант 3
foreach по всем дням. Если в первом массиве есть события за нужный день - копируйте их в новый массив, иначе добавляйте заглушку в новый массив
Ответ написан
Комментировать
@vyrkmod
Пишу на php. И не стыдно.
Что-то вроде
$days = ['Sun' => 'Mon', 'Mon' => 'Tue', 'Tue' => 'Wed', 'Wed' => 'Thu', 'Thu' => 'Fri', 'Fri' => 'Sat', 'Sat' => 'Sun'];
$toAdd = [];
$toAddCount=0;
foreach($events as $key => $event) {
    $datestart = explode($event['datestart'], ' ');
    if(empty($expectedDate)) {
        $expectedDay = $datestart[0];
        $expectedDate = $datestart[1];
    }
    if($expectedDate != $datestart[1]) {
        $toAdd[$key + $toAddCount]['datestart'] = "$expectedDay $expectedDate";
        // $toAdd[$key + $toAddCount]['нужное_поле'] = 'нужное_значение';
        $toAddCount++; // добавили элемент - смещение для следующих надо увеличить
        $expectedDay = $datestart[0];
        $expectedDate = $datestart[1];
    }
    $expectedDate++;
    $expectedDay = $days[$expectedDay];
}
foreach ($toAdd as $key => $value) {
    array_splice($events, $key, 0, $value);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы