这是我想要执行的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
在第二个电话中。 (tft&lt;-ticketingDB)
我无法理解scalaquery的这种行为。
ps:我可以保证在withSession块中调用该方法。
请帮我调试并创建无错连接。
答案 0 :(得分:14)
抱歉,我将解决方案发布为评论,
我自己想出了答案。你应该导入threadLocalSession来获取会话对象。
import org.scalaquery.session.Database.threadLocalSession