[英]How to select specific columns alone using Query.make()
In guidewire, Query.make(EntityName).select()
returns the entire column values, How should be the code if I need column specific result.在
Query.make(EntityName).select()
, Query.make(EntityName).select()
返回整个列值,如果我需要特定于列的结果,代码应该如何。
For eg, If I just need PolicyNumber , PublicID and ID
alone from Policy
table, How should I write the code?例如,如果我只需要
Policy
表中的PolicyNumber , PublicID and ID
,我应该如何编写代码?
can you please try the below code.你能试试下面的代码吗?
var temp=Query.make(entity.Claim).select( \\ row -> row.ClaimNumber) var temp=Query.make(entity.Claim).select(\\row -> row.ClaimNumber)
Still not sure about it though.不过还是不确定。
var op = Query.make(PolicyPeriod).select({
QuerySelectColumns.pathWithAlias("PolicyNumber", Paths.make(PolicyPeriod#PolicyNumber)),
QuerySelectColumns.pathWithAlias("OfferNumber", Paths.make(PolicyPeriod#OfferNumber)),
QuerySelectColumns.pathWithAlias("Id", Paths.make(PolicyPeriod#ID))
})
foreach(o in op){
print(" Policy No : "+o.getColumn("PolicyNumber") +" | Offer No : "+o.getColumn("OfferNumber")+" | ID : "+o.getColumn("Id"))
}
I had the some question and I found the answer for this.我有一些问题,我找到了答案。 It is already commented above and I agree with them, adding left out code.
上面已经评论过了,我同意他们的看法,添加了遗漏的代码。
var temp=Query.make(entity.Claim).select( \ row -> {return { row.ClaimNumber} as String[]})
for(row in temp){
print("Claim Number = " + row[0])
}
where \\ is lambda.其中 \\ 是 lambda。
I have tested this and it is working fine.我已经对此进行了测试,并且工作正常。
You never mentioned that you wanted to optimize.你从来没有提到你想要优化。 Please try the below code.
请尝试以下代码。
var temp=Query.make(entity.Policy).compare("PolicyNumber" , Equals, "123456").select() var temp=Query.make(entity.Policy).compare("PolicyNumber" , Equals, "123456").select()
You can use other functions like Joins.您可以使用连接等其他功能。 Please let me know if it works or my understanding is right!
请让我知道它是否有效或我的理解是正确的!
It's simple,这很简单,
Uses GW.api.database.Query
Var d=Query.make(PolicyPeriod).select()
For ( a in d){
Print ( d.PolicyNumber +" = " + d.ID +" = " + `d.PublicID)`
}
There are many approach by which we can achieve this.有很多方法可以实现这一点。 The simplest way would be storing the result in a variable and then selecting from that.
最简单的方法是将结果存储在一个变量中,然后从中进行选择。 var temp=Query.make(entity.Policy).select() temp.each( \\ elt -> print(elt.PolicyNumber)
var temp=Query.make(entity.Policy).select() temp.each(\\elt -> print(elt.PolicyNumber)
You can also use other filters like Compare,AtMostOneRow,FirstWhere您还可以使用其他过滤器,如 Compare、AtMostOneRow、FirstWhere
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.