billingAddress; $billingAddress->update($data['billingAddress']); // Update shipping address $shippingAddress = $record->shippingAddress; $shippingData = $data['shippingAddress']; $shippingUpdateData = [ 'recipient' => $shippingData['recipient'], 'phone' => $shippingData['phone'], 'notes' => $shippingData['notes'], ]; if ($shippingData['same_as_billing']) { $shippingUpdateData = [ ...$shippingUpdateData, 'parent_address_id' => $billingAddress->id, 'address_line_1' => $billingAddress->address_line_1, 'address_line_2' => $billingAddress->address_line_2, 'country' => $billingAddress->country, 'state_id' => $billingAddress->state_id, 'city' => $billingAddress->city, 'postal_code' => $billingAddress->postal_code, ]; } else { $shippingUpdateData = [ ...$shippingUpdateData, 'parent_address_id' => null, 'address_line_1' => $shippingData['address_line_1'], 'address_line_2' => $shippingData['address_line_2'], 'country' => $shippingData['country'], 'state_id' => $shippingData['state_id'], 'city' => $shippingData['city'], 'postal_code' => $shippingData['postal_code'], ]; } $shippingAddress->update($shippingUpdateData); return $record; } }