How can I omit case class fields in a slick table mapping?

送分小仙女□ 提交于 2019-12-03 14:54:56

Your trouble here is your constructUser is function of 4 parameters, while it supposed to be function of single Tuple4

Try to add type signatures.
This sample works for instance ( some simplifications included )

type Data = (Long, String, String, Option[String])

def constructUser: Data => User = {
  case (id, username, passwordHash, email) => User(id, username, passwordHash, email)

}
def extractUser: PartialFunction[User, Data] = {
  case User(id, username, passwordHash, email, _, _) =>
    (id, username, passwordHash, email)
}

def * = (id, username, passwordHash, email) <> (constructUser, extractUser.lift)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!