Shopware 6通过store-api获取父产品

new*_*erd 3 api shopware

我正在尝试使用 store-api 获取特定产品的父级。
当我添加parent关联时,收到错误代码FRAMEWORK__PARENT_ASSOCIATION_CAN_NOT_BE_FETCHED

我的请求如下所示: 在此输入图像描述

我是否真的必须使用 来执行第二个请求来parentId获取一些父产品信息,还是有其他方法?

ts-*_*hip 5

您可以尝试搜索子项 ID 为“xyz”的产品,而不是尝试查找某一变体的父项。Shopware 支持过滤嵌套对象,例如“children.id”。

例如:

POST /store-api/product
Content-Type: application/json
Accept: application/json
sw-access-key: ...
sw-language-id: ...

{
  "includes": {
    "product": ["productNumber", "children", "name", "translated.name"]
  },
  "associations": {
    "children": []
  },
  "filter": [
    {"field": "children.id", "type": "equals", "value": "f87a875bc5fa47e08ea40a19ce9c5627"}
  ]
}
Run Code Online (Sandbox Code Playgroud)

应该给你父母和孩子输出:

{
  "entity": "product",
  "total": 1,
  "aggregations": [],
  "page": 1,
  "limit": null,
  "elements": [
    {
      "productNumber": "252009 00-0002",
      "name": null,
      "children": [
        {
          "productNumber": "252009 00-0002.3",
          "name": null,
          "children": null,
          "translated": {
            "name": "T-Shirt Logo"
          },
          "apiAlias": "product"
        },
        {
          "productNumber": "252009 00-0002.1",
          "name": null,
          "children": null,
          "translated": {
            "name": "T-Shirt Logo"
          },
          "apiAlias": "product"
        },
        {
          "productNumber": "252009 00-0002.4",
          "name": null,
          "children": null,
          "translated": {
            "name": "T-Shirt Logo"
          },
          "apiAlias": "product"
        },
        {
          "productNumber": "252009 00-0002.2",
          "name": null,
          "children": null,
          "translated": {
            "name": "T-Shirt Logo"
          },
          "apiAlias": "product"
        }
      ],
      "translated": {
        "name": "T-Shirt Logo"
      },
      "apiAlias": "product"
    }
  ],
  "apiAlias": "dal_entity_search_result"
}
Run Code Online (Sandbox Code Playgroud)

  • 这是一个非常聪明的主意! (2认同)