2013-07-05 16 views
0

A具有這樣性狀ComputeMeasuresSignaturesFromGroupByState方法計算應用不超過7個變量

inTransaction { 
     from(AppDb.bills, AppDb.legals)((billCount, legal) => 
     where(legal.id in (
      from(AppDb.bills)(bill => 
      where(bill.individualId === individualId and bill.deleted === false) 
       select (bill.legalId)).distinct 
     ) and billCount.individualId === individualId and billCount.legalId === legal.id) 
      groupBy(legal.id, legal.name, legal.address, legal.siteUrl, legal.logoId, legal.phoneNumber, legal.email) 
      compute(legal.id, legal.name, legal.address, legal.siteUrl, legal.logoId, legal.phoneNumber, legal.email, count(billCount.id)) 
    ).toList 
    } 

方法計算的請求不能接受8個字段,只有7少。

def compute[T1,T2,T3,T4,T5,T6,T7] 
    (e1: =>TypedExpressionNode[T1], e2: =>TypedExpressionNode[T2], e3: =>TypedExpressionNode[T3], e4: =>TypedExpressionNode[T4], 
    e5: =>TypedExpressionNode[T5], e6: =>TypedExpressionNode[T6], e7: =>TypedExpressionNode[T7]): ComputeStateFromGroupByState[G,Product7[T1,T2,T3,T4,T5,T6,T7]] = 
    new GroupWithMeasuresQueryYield[G,Product7[T1,T2,T3,T4,T5,T6,T7]](
     this.queryElementzz, 
     this.groupByClauseClosure, 
     this.unevaluatedHavingClause, 
    () =>List(e1, e2, e3, e4, e5, e6, e7) 
    ) 

我該如何解決這個問題?

回答

1

叉的項目,並添加另一種方法向ComputeMeasuresSignaturesFromGroupByState特質接受8個PARAMS:

https://github.com/max-l/Squeryl/blob/master/src/main/scala/org/squeryl/dsl/boilerplate/ComputeMeasuresSignaturesFromGroupByState.scala

+0

是必要的叉子? http://pastebin.com/Z9mnmHMD – senia

+0

通過拉動請求將其添加到代碼庫可能很不錯 – Noah

+0

也可以使用隱式值類(如果使用Scala-2.10時沒有運行時成本)添加功能。 但是,拉的請求當然會更好。 – VasyaNovikov