想要了解更好的方式来加入表格

时间:2013-09-04 09:00:19

标签: scala slick

我有一个带有光滑的示例查询,如下所示:

val query =
  (for {
    (company,loc) <- Company leftJoin Location  on (_.locId === _.id)
    (_,typeof) <- Company leftJoin Types on (_.typeId === _.id)
  } yield (company, loc, typeof))

进行多个连接是一种更好的方法吗?

我已尝试过multiple joins with slick中的建议但导致错误。

3 个答案:

答案 0 :(得分:4)

这很好。

for {
    ((company,geo),typeof) <- Company 
        leftJoin Location on (_.locId === _.id) 
        leftJoin Business_Levels on (_._1.typeId === _.id)
}

答案 1 :(得分:2)

您可以正常链接连接:

for {
    (company, location, type) <- Company 
        leftJoin Location  on (_.locId === _.id) 
        leftJoin Types on (_._1.typeId === _.id)
} yield (company, location, type)

顺便说一句,我很确定type这个词是scala保留词。

编辑:在dsr301的评论之后在第3行添加了_.1。

答案 2 :(得分:1)

您可以查看有关光滑的scala天演示文稿中的自动加入技巧 - http://www.parleys.com/play/51c2e20de4b0d38b54f46243/chapter50/agenda

在0:27:30检查