/** * @param $id * @param $data * @return \Illuminate\Support\Collection|null|static */ public function updateOrderDetail($id, $data) { $orderDetailModel = new orderDetailModel(); if (isset($options['_token'])) { unset($options['_token']); } if (isset($options['_method'])) { unset($options['_method']); } if (isset($data['order_service_status']) && $data['order_service_status'] == KACANA_ORDER_SERVICE_STATUS_SOLD_OUT && isset($data['order_service_id'])) { unset($data['order_service_id']); } if (isset($data['order_service_status']) && isset($data['order_id'])) { $orderNotProcessing = $orderDetailModel->getOrderDetailNotProcess($data['order_id']); if (count($orderNotProcessing) == 1 && ($data['order_service_status'] == KACANA_ORDER_SERVICE_STATUS_SHIPPING || $data['order_service_status'] == KACANA_ORDER_SERVICE_STATUS_SOLD_OUT)) { $this->_orderModel->updateItem($data['order_id'], ['status' => KACANA_ORDER_STATUS_COMPLETE]); } else { $this->_orderModel->updateItem($data['order_id'], ['status' => KACANA_ORDER_STATUS_PROCESSING]); } } unset($data['order_id']); return $orderDetailModel->updateOrderDetail($id, $data); }