Как быстро загрузить данные из Nova Postha Api в свою базу данных (30 000 записей)? [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как быстро загрузить данные из Nova Postha Api в свою базу данных (30 000 записей)? [закрыто]

Сообщение Anonymous »

Код: Выделить всё

public function updateWarehouses()
{
$settlements = NovaPoshtaSettlement::all();

foreach ($settlements as $settlement) {
$page = 1;
$limit = 1500;

do {
$response = Http::timeout(10000)->post('https://api.novaposhta.ua/v2.0/json/', [
'apiKey' => config('services.novaposhta.api_key'),
'modelName' => 'AddressGeneral',
'calledMethod' => 'getWarehouses',
'methodProperties' => [
'SettlementRef' => $settlement->ref,
'Page' => $page,
'Limit' => $limit,
],
]);

if ($response->successful()) {
$warehouses = $response->json()['data'];

foreach ($warehouses as $warehouse) {
NovaPoshtaWarehouse::updateOrCreate(
[
'ref' => $warehouse['Ref'],
],
[
'settlement_id' => $settlement->id,
'description' => $warehouse['Description'],
'short_address' => $warehouse['ShortAddress'],
'type_of_warehouse' => $warehouse['TypeOfWarehouse'],
'number' => $warehouse['Number'],
]
);
}

if (count($warehouses) < $limit) {
break;
}
}

$page++;
} while (true);
}
}

NovaPoshtaWarehouse::upsert($warehousesData, ['ref'], ['settlement_id', 'description', 'short_address', 'type_of_warehouse', 'number', 'updated_at']);
Но это плохо.


Подробнее здесь: https://stackoverflow.com/questions/787 ... 0-000-reco
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как быстро загрузить данные из Nova Postha Api в свою базу данных (30 000 записей)? [закрыто]
    Anonymous » » в форуме Php
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Пакет Laravel Nova devtical/nova-qrcode-field Не работает на сервере
    Anonymous » » в форуме Php
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Наименьшее общее кратное натуральных чисел до предела, скажем, 10 000 000.
    Anonymous » » в форуме Python
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • System.nanoTime()/1 000 000 полностью отличается от System.currentTimeMillis().
    Anonymous » » в форуме JAVA
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Как сгенерировать совокупную сумму из 300 000 000 случайных единиц и -1
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»