我有一个带有光滑的示例查询,如下所示:
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中的建议但导致错误。
答案 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检查