Ваш код очень запутанный и не имеет особого смысла.
Например, почему вы используете петлю for
? Ваш запрос всегда будет возвращать один и тот же результат, так в чем же смысл цикла?
Что такое $i
?
Поскольку ваш запрос всегда возвращает один результат ->take(1)
, поэтому только $data[0]
будет иметь значение, которое $data[$f]
должно возвращать, например $data[1]
, $data[2]
и т. д.
Вы можете просто суммировать цены с помощью построителя запросов
$sum = Price::whereIn('id', $room_ids)
->whereDate('from_date', '<', $from_date)
->whereDate('to_date', '>', $to_date)
->orderBy('created_at', 'asc')
->sum('sales_price');