0

我正在尝试实现一个请求,例如文档中的示例:http: //squeryl.org/joins.html

我有一个表“必需”和“服务”。在表 Service 的“paymentRequisite”字段中,可以是到 Requisite 或 Null 行的链接:

@Column("paymentRequisite")
var paymentRequisite: Option[Long], 

我有这样的要求:

inTransaction {
     join(AppDb.paymentRequisite, AppDb.catalogService.leftOuter)((p, c) => 
       compute(p.id, count(c.map(_.id))) 
       on(p.id === c.map(_.paymentRequisite))).toList
}

但这会引发异常:

[error]  found   : Option[Option[Long]]
[error]  required: org.squeryl.dsl.NumericalExpression[?]

这是因为_.paymentRequisite

最后,我正在尝试选择引用此必要条件的 ReqId 和服务计数。

4

1 回答 1

0

我找到了解决方案 =)

inTransaction {
     join(AppDb.paymentRequisite, AppDb.catalogService.leftOuter)((p, c) => 
       groupBy(p.id) 
       compute(p.id, count(c.map(_.id))) 
       on(Some(p.id) === c.flatMap(_.paymentRequisite))).toList
}
于 2013-09-25T06:20:25.220 回答