Включить под-сущности из отношений при загрузке сущности в Groovy Service
То, чего я пытаюсь достичь, это загрузить некоторые поля из дочерних объектов.
Например, предположим, я хочу загрузить некоторые функции для списка продуктов. В XML это довольно ясно:
<row-actions>
<entity-find-one entity-name="mantle.product.feature.ProductFeature" value-field="brandList">
<field-map field-name="productFeatureId" from="featureList.productFeatureId"/>
<field-map field-name="productFeatureTypeEnumId" from="featureList.productFeatureId" value="PftBrand"/>
</entity-find-one>
</row-actions>
Есть ли способ сделать что-то подобное в Groovy, не перебирая весь список продуктов и добавляя нужные поля вручную?
Кроме того, кто-нибудь может дать мне короткий пример с конкретным использованием sqlFind( http://www.moqui.org/javadoc/org/moqui/entity/EntityFacade.html)?
Я попытался решить проблему, которую я спрашиваю об использовании запроса соединения, но я не мог понять, как должен выглядеть SQL-запрос.
1 ответ
А. Элемент entity-find-one запрашивает первичный ключ и возвращает одну карту. Вам необходимо использовать элемент entity-find.
б. Да, вы всегда можете перейти на Groovy, используя тег script. например, просто использовать ec.entity.find("mantle.product.feature.ProductFeature")
или что вам нужно в вашем отличном сценарии.
с. В moqui объединенные таблицы обрабатываются с помощью элемента 'view-entity', и вы можете заранее определить свои собственные (поместить в вашу папку 'entity') или использовать множество существующих таблиц, представленных в платформе. Вам не нужен SQL.
РЕДАКТИРОВАТЬ - Извините, вы также можете сделать это на лету с помощью метода EntityFind.makeEntityDynamicView().
Надеюсь, это поможет.