0

我只想从实体检查中返回两列。我在下面尝试过,但它不起作用。请注意,我使用的是 Guidewire 版本 10。

Query.make(entity.Check) .compare(Check#Createtime, Equals, time) .select({QuerySelectColumns.pathWithAlias("CheckNumber", Paths.make(Check#CheckNumber)), QuerySelectColumns.pathWithAlias("InvoiceNumber", Paths .make(Check#InvoiceNumber)) })?.FirstResult

4

2 回答 2

1

您可以使用以下代码段。

var conQuery = Query.make(Person).select(\row -> new String[]{row.FirstName, row.LastName}) print(conQuery.first()) //只打印第一行

这里 conQuery 的返回类型将是 IQueryBeanResult<String[]>。每个返回的行都将包含带有 FirstName 和 LastName 的字符串数组。

如果只需要 FirstName,请使用 => select(\row -> row.FirstName)

于 2021-08-04T09:31:37.197 回答
0

你说它不起作用是什么意思?坐给你什么?

var query = Query.make(Check) .compare(ReasonCodeParametersRgs#ProductCode, Equals, "smth") .select({ QuerySelectColumns.pathWithAlias("CheckNumber", Paths.make(Check#Field1)), QuerySelectColumns.pathWithAlias("InvoiceNumber ", Paths.make(Check#Field2)) })

var count: Integer = query?.FirstResult?.ColumnCount print("!!!count = " + count)

如果查询有任何行,则此代码返回 2,如果查询为空,则返回 0。我用不同的实体和条件检查了它

于 2021-07-20T19:47:36.767 回答