【问题标题】:Exporting collection types using ImpEx in Hybris在 Hybris 中使用 ImpEx 导出集合类型
【发布时间】:2017-08-04 13:29:28
【问题描述】:

以下问题提到了有关使用灵活搜索访问集合类型的信息:

Reading collection type data using Flexible search

我想知道我们是否要使用 ImpEx 导出下载此报告,然后如何去做。

【问题讨论】:

    标签: hybris


    【解决方案1】:

    如果你想在 impex 导出中运行灵活的搜索查询,可以像这个例子:

    insert_update ContentPage;uid[unique=true];name;catalogVersion;approvalStatus;label;title[lang=de];masterTemplate
    "#% impex.exportItemsFlexibleSearch(""select {pk} from {ContentPage} where {CatalogVersion}=8796125823577"");" 
    

    否则,如果您不需要任何带条件的特殊查询,您可以简单地运行它:

    insert_update ContentPage;uid[unique=true];name;catalogVersion;approvalStatus;label;title[lang=de];masterTemplate
    "#% impex.exportItems(""ContentPage"", false);"
    

    在您的情况下,您必须为每种类型创建 2 个 insert_update 命令。国家和地区。灵活的搜索查询是这样的:

    SELECT {r.PK}
    FROM  {Region as r}
     WHERE {r.country} =
       (
          {{
             SELECT {c.PK}
                FROM {Country as c}
                WHERE {c.isocode} = 'DE'
          }}
    )
    

    一个简单的

    select {c.pk} from {Country as c} where {c.isocode} = 'DE'
    

    这里有一些参考资料https://wiki.hybris.com/display/forum/Export+with+Flexible+Search

    https://wiki.hybris.com/display/release5/ImpEx+API

    【讨论】:

    • ,实际上我有一个场景,其中我有一个 itemtype 说 Country 有一个属性,它是另一个 itemtype 的集合类型,比如说 Region。我想提取国家和地区的属性。如何去解决这个问题?
    • 我改变了我的答案,所以代码可以适应。通常,通过 impexes,您只能在查询中提取 1 种类型。无法使用相同的查询提取 2 种类型。但是,可以在一个具有 2 个单独的 insert_updates 的 impex 文件中执行此操作。
    • 地区不会有国家的引用,因为集合是单向的,所以如果国家有地区的集合,就不会有从地区到国家的向后映射。
    猜你喜欢
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    相关资源
    最近更新 更多