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 записи.
Пример с БД

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