if (!empty($NewOrders)) {
foreach ($GetAllServices as $service) {
foreach ($NewOrders as $order) {
$ordersInProcess = array_count_values(array_column($arrayOld, 'ServiceId'));
// лимит минус количество заказов которое уже находятся в процессе.
$a = $service['ServiceLimit'] - $ordersInProcess[$service['ServiceId']];
if ($service['ServiceId'] === $order['ServiceId']) {
$arrayNew[] = array(
"Id" => $order["Id"],
"StatusId" => $service["StatusId"],
);
}
}
}
}
В
$а
я получаю количество заказов, которое можно записать в массив для конкретной услуги, но проблема в том, что при каждой записи в массив
$arrayNew
я должен как-то убавлять лимит на -1 для данного сервиса. Не могу сообразить как вычитать лимит.
Скорее всего нужно как-то вычитать из массива услуг -
$service
откуда мы и получаем изначальные лимиты.
Его структура проста:
id | ServiceId | ServiceLimit