光滑加入左选项列

时间:2016-06-04 18:40:08

标签: scala slick

我尝试使用Slick加入多个表格,但我很难加入可选值。

我从Rails迁移的模型,用户有一个单独的配置文件,可以有一个地址,这是可选的。

如何使用Slick进行查询?

当前代码:

val query = for {
  (((((dbUser, dbUserProfile), dbAddress), dbCountry), dbUserLoginInfo), dbLoginInfo) <-
  users.filter(_.id === userID)
    .join(userProfiles).on(_.id === _.id)
    .joinLeft(addresses).on(_._2.addressId === _.id)
    .joinLeft(countries).on(_._2.get.countryId === _.id)
    .joinLeft(userLoginInfos).on(_._1._1._1.id === _.userId)
    .joinLeft(loginInfos).on(_._2.get.loginInfoId === _.id)
} yield (dbUser, dbUserProfile, dbAddress, dbCountry, dbLoginInfo)

1 个答案:

答案 0 :(得分:8)

试试这个: .joinLeft(countries).on(_._ 2.map(_。countryId)=== _.id)