2011-09-19 16 views
7

to zapytanie scalaquery które chcę wykonać,scalaquery problemem nie niejawna sesja

... 
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 
    } 
... 

W ten przyłączyć, Dostaję błąd kompilacji:

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

w drugim naborze. (tft < - ticketingDB)

Nie mogę zrozumieć tego zachowania w scalaquery.

ps: Mogę zapewnić, że metoda jest wywoływana wewnątrz bloku withSession.

proszę pomóż mi debugować i tworzyć bezpłatne dołączanie.

+0

Przykro mi to przeszkadzać, ale sam wymyśliłem rozwiązanie. nie zaimportowałem threadLocalSession do pliku. zaimportuj org.scalaquery.session.Database.threadLocalSession – tiran

+0

, jeśli znajdziesz odpowiedź na własną rękę, opublikuj ją jako odpowiedź. – geowa4

Odpowiedz

14

Niestety, mogę napisać rozwiązanie jako komentarz,

I zorientowali odpowiedzieć sam. powinieneś zaimportować threadLocalSession, aby uzyskać obiekt sesji.

import org.scalaquery.session.Database.threadLocalSession 
+3

Dla slick: 'import scala.slick.session.Database.threadLocalSession' – lreeder

+0

Slick 2.0 wymaga innego importu: http://slick.typesafe.com/doc/2.0.0/migration.html#dynamically-and-statically- sesje tematyczne – rhodri