status = $data['status']; $orderExpress->save(); $this->syncTraces($data['traces'], $orderExpress); } } protected function syncTraces($traces, $orderExpress) { $orderExpressLog = OrderExpressLog::where('order_express_id', $orderExpress->id)->select(); $log_count = count($orderExpressLog); if ($log_count > 0) { if (is_array($traces)) { array_splice($traces, 0, $log_count); } } if (is_array($traces)) { foreach ($traces as $k => $trace) { $orderExpressLog = new OrderExpressLog(); $orderExpressLog->uniacid = UNIACID; $orderExpressLog->user_id = $orderExpress['user_id']; $orderExpressLog->order_id = $orderExpress['order_id']; $orderExpressLog->order_express_id = $orderExpress['id']; $orderExpressLog->content = $trace['content']; $orderExpressLog->change_date = $trace['change_date']; $orderExpressLog->status = $trace['status']; $orderExpressLog->save(); } } } }