Вот функция:
Код: Выделить всё
public function getDeliveries($delivery_items)
{
$deliveries = [];
foreach ($delivery_items as $delivery_item) {
if (isset($deliveries[$delivery_item->DeliveryID])) {
$items = $deliveries[$delivery_item->DeliveryID]['items'];
$subtotal = $deliveries[$delivery_item->DeliveryID]['subtotal'];
} else {
$delivery_array = [
'cust_ref' => $delivery_item->DeliveryID,
'ship_first_name' => $delivery_item->Delivery_First_Name,
'ship_last_name' => $delivery_item->Delivery_Last_Name,
'ship_address_1' => $delivery_item->Delivery_Address_1,
'ship_address_2' => $delivery_item->Delivery_Address_2,
'ship_city' => $delivery_item->Delivery_City,
'ship_state' => $delivery_item->Delivery_State,
'ship_zip' => $delivery_item->Delivery_Zipcode
];
if ($this->hasExtraField($delivery_item)) {
$order_id = $delivery_item->DeliveryID;
$limited_scope_key = config("services.example_api.key");
$delivery_array['extra_fields']['api_link'] = "https://api.example.com/orders/{$order_id }";
}
$deliveries[$delivery_item->DeliveryID] = $delivery_array;
$items = [];
$subtotal = 0;
}
$items[] = [
'item_no' => $delivery_item->ItemID,
'item' => $delivery_item->Item_Number,
'description' => $delivery_item->Item_Description,
'price' => $delivery_item->Item_Price,
'quantity' => $delivery_item->Item_Quantity
];
$subtotal += $delivery_item->Item_Total;
$deliveries[$delivery_item->DeliveryID]['items'] = $items;
$deliveries[$delivery_item->DeliveryID]['subtotal'] = $subtotal;
$deliveries[$delivery_item->DeliveryID]['grand_total'] = $subtotal;
}
return $deliveries;
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... fic-fields
Мобильная версия