【发布时间】:2014-07-03 03:43:05
【问题描述】:
使用 Slick 加入时的问题:我有 2 个表 User 和 UserInfo,我想离开它们以获取用户信息。我试过这个:
val q = for{
(user,info) <- User leftJoin UserInfo on (_.id === _.userid)
} yield(user, info)
但是 UserInfo 表有一些可以为空的字段,所以当我尝试执行查询时:
q.map(user_info => (user_info._1,user_info._2)).list
它会出错,因为 user_info._2 有一些空值。我知道在 UserInfo 中产生每个字段并为可空字段添加 getOrElse(None) 的解决方案。但是,UserInfo 有很多字段,所以我不想使用它。
谁能帮帮我?
【问题讨论】:
-
如果可空字段在架构中被定义为
Options,那么它们将被返回,我怀疑你的问题出在其他地方,例如你到底得到了什么样的异常?您的架构是如何定义的? -
x.getOrElse(None)应该和x完全一样吧?这怎么能解决你的问题?
标签: sql scala nullable slick-2.0