У меня есть приложение, которое в контроллере я пытаюсь отправить room id
и какую-то дату для каждого дня, который я хочу зациклить, и теперь для каждой комнаты проблема заключается в том, что я запускаю этот запрос ниже:
$from_date = $request->get('from_date');
$to_date = $request->get('to_date');
$room_ids[] = $request->get('room_ids');
$period = CarbonPeriod::create($from_date, $to_date);
$dates = $period->toArray();
for ($i = 0; $i < count($dates); $i++) {
for ($f = 0; $f < count($room_ids); $f++) {
/****************************************
* Looping for the Number of Rooms User Given
*****************************************/
$room_price = RoomPricingHistory::with('accommodationRoom', 'accommodationRoom.roomCapacityHistoryLast')
->where('accommodation_room_id', $room_ids[$i])
->whereDate('from_date', '<=', $dates[$f])
->whereDate('to_date', '>=', $dates[$f])
->get()->sortBy('created_at');
var_dump('time');
$data_array[] = $room_price[$i];
$data_collection = collect($data_array);
$sum_price[] = $room_price[$i]->sales_price; // trying to get and store data not to be replaced after each step of loop
$sum_half_board[] = $room_price[$i]->half_charge_price;
$sum_full_board[] = $room_price[$i]->full_board_price;
}
}
foreach ($room_price as $item) {
if ($item->accommodationRoom->roomCapacityHistoryLast->capacity > 10 ?? null) {
$check_capacity = 0;
} else {
$check_capacity = 1;
}
}
$night_count = count($dates);
$sum = array_sum($sum_price);
$sum_half = array_sum($sum_half_board);
$sum_full = array_sum($sum_full_board);
$alldata = $sum . ',' . $sum_half . ',' . $sum_full . ',' . $night_count . ',' . $check_capacity;
return RoomDetailResource::collection($data_collection)->sum($alldata);
Я получаю эту ошибку:
"message": "Undefined offset: 1",
"status_code": 500,
Я думаю, что это потому, что 1 цикл выполняется более одного раза, теперь мой вопрос заключается в вызове, я делаю 1 для и сделать из него API, а затем в другом вызове функции, которыйAPI в цикле и получить результат ??
Разумно ли это делать, или мы не можем назвать наш собственный API в нашем собственном проекте?
или есть ли способ решить эту ошибку выше ??