我有一个关于从magento 2扩展API请求的问题。我有以下请求:/index.php/rest/V1/orders/123
它给了我一个JSON,其中包含有关订单的所有信息。这很好用。现在我想用自定义属性扩展给定的json响应。我将通过从订单表customer_id(customers表)开始的几个关系得到所需的属性 - > group_id(customer_groups表) - > my_attribute。
我在magentos offical documentation中读到了有关属性扩展的问题以及here。但我遇到了两个问题。首先,我无法找到像我一样的多重关系。在magentos文档中,他们使用join
<extension_attributes for="Magento\Catalog\Api\Data\ProductInterface">
<attribute code="stock_item" type="Magento\CatalogInventory\Api\Data\StockItemInterface">
<join reference_table="cataloginventory_stock_item" reference_field="product_id" join_on_field="entity_id">
<field>qty</field>
</join>
</attribute>
</extension_attributes>
这是否也适用于多个joins
。如果我可以编写PHP来获取属性,那将是很棒的。其次,我如何扩展API以便在API请求中获取信息。例如,在教程中他们只在PHP中使用它来获取信息:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$addressInformation = $objectManager->create('Magento\Checkout\Api\Data\ShippingInformationInterface');
$extAttributes = $addressInformation->getExtensionAttributes();
$selectedShipping = $extAttributes->getCustomShippingCharge(); //get custom attribute data.
某人是否有类似的情况或有我可以开始的代码示例?