@kaxa3201

Как при группировке по дате возвращать нулевые значения?

Результат моего запроса:

{
	"Nov 2021": 5620.45,
	"Dec 2021": 1215.74
}

Как мне получить такой ответ если значений по выбранным датам пустые?

{
	"Nov 2021": 5620.45,
	"Dec 2021": 1215.74
}

Пробовал так, но приходит пусто:

DB::table('reservations as r')
            ->selectRaw('DATE_FORMAT(`r`.`checkin_date`,"%b %Y") as checkin,
            ifnull(round(sum(rd.payoutBalance)/100,2),0) as value
            ')
            ->leftJoin('reservation_data as rd', 'r.id', '=', 'rd.reservation_id')
            ->whereBetween('r.checkin_date', [$startDate->startOfMonth()->format('Y-m-d'), Carbon::today()->format('Y-m-d')])
            ->whereIn('r.status_id', [Reservation::CONFIRMED, Reservation::ATTENTION])
            ->whereNull('r.isHidden')
            ->whereIN('r.payout_status_id', [Reservation::PAYOUT_DISCREPANCY, Reservation::PAYOUT_REFUND_EXPECTED])
            ->whereNull('r.deleted_at')
            ->groupBy('checkin')
            ->orderBy('r.checkin_date')
            ->get()
            ->pluck('value','checkin')
  • Вопрос задан
  • 33 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы