7

これは私が実行したいscalaqueryクエリです。

...
def generateFares(scheduleId:NamedColumn[Int], toCityId:NamedColumn[Int], fromCityId:NamedColumn[Int]):List[(String,Int,String)] = {
      var list:List[(String,Int,String)] = Nil;
      val q = for {
        tf <- ticketingDB.ticketFares if (( tf.scheduleId is scheduleId ) && ( tf.fromCityId is fromCityId ) && ( tf.toCityId is toCityId ))
        tft <- ticketingDB.ticketFareType if tft.id is tf._7
      }{
        list = (tft._2, tf._5, tf._6)::list
      }
      list
    }
...

この結合では、コンパイル エラーが発生します。

 could not find implicit value for parameter session: org.scalaquery.session.Session

2番目の呼び出しで。(tft <- ticketingDB)

このスカラクエリの振る舞いが理解できません。

ps: メソッドが withSession ブロック内で呼び出されることを保証できます。

エラーのない結合をデバッグして作成するのを手伝ってください。

4

1 に答える 1

14

申し訳ありませんが、解決策をコメントとして投稿します。

答えは自分で考えました。セッション オブジェクトを取得するには、threadLocalSession をインポートする必要があります。

import org.scalaquery.session.Database.threadLocalSession 
于 2011-09-20T03:28:31.170 に答える