`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’]);
But its bad.
New contributor
Vlad Ptashnyk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.