Вы не можете получить адрес на основе идентификатора клиента, поэтому этот код никогда не будет работать:
$address = $this->_addressRepository->getByCustomerId($customerId);//error
Потому что getByCustomerId
метод не существует в классах контракта на обслуживание.
Однако вы можете использовать класс клиента контракта на обслуживание данных со следующим кодом:
$customerId = $_POST["customer_id"];
$customer = $this->_customerRepository->getById($customerId);
$addresses = $customer->getAddresses();
Обратите внимание, что getAddresses
вернет массив Magento\Customer\Api\Data\AddressInterface
.
Если вам нужен платежный адрес по умолчанию, вы можете позвонить:
$billingAddress = $customer->getDefaultBilling();
$customer->getDefaultBilling();
его, возвращаем NULL