Доброго времени суток, всему пролетариату.
Возник такой вопрос, написал пару классов для работы с апишкой, получая данные с одной апишки, тяну их в бд как полагается (мускул), интерфейс реализован на блейде + livewire
Так вот, при выгрузке на страницу, происходит еще одно обращение к апишке, через цикл for + иф на отсутствие нужных мне данных, вот весь пробег занимает 30с, это УЖАСНО много)
Подскажите, может как-то смогу существенно уменьшить расходуемое время на выполнение моего пробега?
Класс рендера
for($cart_min; $cart_min <= $cart_max; $cart_min++)
{
$image = DB::table('room_images')
->where('Room_id', $this->room[$cart_min]->Room_id)
->get();
$price = new CartController();
$this->price_new = $price->price($this->room[$cart_min]->cafe_id, 40, $this->room[$cart_min]->Room_id);
$this->price_old = round($this->price_new * 1.2);
if($this->price_new == 0)
{
$cart_max += 1;
continue;
}
$this->array[] = [$this->room[$cart_min], $image, $this->price_old, $this->price_new];
}
В классе прайс логика простая, получаю значения по апи + вытягиваю оттуда циклом по моему айдишнику данные.
Как можно оптимизировать данную работу, может file_get_content заменить, можно пустить какой-то асинхрон, пока-что не пойму какой метод пихнуть)