2014-12-01 7 views
0

Я новичок в Scala. Я получаю ошибки типа, когда пытаюсь сделать следующее. Почему мой метод findByUUID ошибочен?Тип несоответствие в slick-запросе

case class User (token: String, email: String) { 
} 

class Users(tag: Tag) extends Table[User](tag, "USERS") { 

    def email = column[String]("EMAIL", O.PrimaryKey, O.AutoInc) 
    def token = column[String]("TOKEN") 

    def * = (token, email) <> (User.tupled, User.unapply) 

} 

object UsersManager { 
    def users = TableQuery[Users] 

    def findByUUID(token: String) = Option[User] { 
    DatabaseConfig.db.withSession { implicit session => 
     users.filter(_.token === token).firstOption 
    } 
    } 
} 

Вот что я получаю от консоли:

[error] found : Option[models.Users#TableElementType] 
[error] required: models.User 
[error] users.filter(_.token === token).firstOption 

ответ

1

У вас есть небольшая опечатка:

def findByUUID(token: String) = Option[User] { 

Должен быть (смотрите на то, где = знака):

def findByUUID(token: String): Option[User] = { 
+1

Вы отлично, спасибо! Не то чтобы я потратил час или два на это: / – Fishman

Смежные вопросы