对于普通SQL查询,我们可以使用所有预定义的SQL函数,例如avg(),sum()等。但是对于moqui实体,我们只能从数据库中获取数据。没有预定义的功能。
是否还有其他方法可以通过实体查找从数据库获取数据(操纵数据,执行某些运行时函数,例如avg(),sum()),例如此类?
答案 0 :(得分:1)
在Moqui中,使用别名元素上的@function属性通过视图实体定义使用函数。视图实体可以具有一个或多个成员实体。这是来自具有单个成员实体的mantle-usl的示例:
<view-entity entity-name="AssetQuantitySummary" package="mantle.product.asset">
<member-entity entity-alias="AST" entity-name="mantle.product.asset.Asset"/>
<alias-all entity-alias="AST"><exclude field="quantityOnHandTotal"/><exclude field="availableToPromiseTotal"/>
<exclude field="originalQuantity"/></alias-all>
<alias name="quantityOnHandTotal" entity-alias="AST" function="sum"/>
<alias name="availableToPromiseTotal" entity-alias="AST" function="sum"/>
<alias name="originalQuantity" entity-alias="AST" function="sum"/>
</view-entity>
mantle-usl中有许多更复杂的视图实体定义,您可以在代码中使用它们,也可以将其用作示例。这些包括带有子选择,嵌套函数等的更复杂的查询。