Laravel 7. Подсчет количества записей за каждый день при определенном условии (postgresql)

 $builder = $class::select(
            DB::raw('count(*) as count'),
            DB::raw("to_char(published_at, 'day') as dates")
        )
            ->whereDate('published_at', '>=', $date1)->whereDate('published_at', '<=', $date2)
            ->groupBy('dates')->orderByRaw('dates ASC');

Этим запросом, я мог получить количество записей (постов) опубликованных каждый день за некий период. Данные я использовал для построения графика.

Но возникла задача построить график по днях (месяцах, неделях) но учитывая не один параметр - published_at а еще один expiration_date. Тоисть график не того сколько постов опубликовано за день, а график активных постов за день. Активным за день считается пост - если этот день находится между published_at и expiration_date записи. Пример с БД введите сюда описание изображения

Подскажите как решить эту задачу?


Ответы (0 шт):