2

在 scaladays 2013 谈话http://www.parleys.com/play/51c2e20de4b0d38b54f46243/chapter55/agenda它谈到“joinCondition”

例如:

implicit def autojoin1 = joinCondition[Sites,Devices](_.id === _.siteId)
implicit def autojoin2 = joinCondition[Devices,Computers](_.computerId === _.id)
sites.autoJoin(devices).further(computers)
  : Query[_,(Site,Computer)]
sites.autoJoin(devices).autoJoinVia(computers)(_._2)
 : Query[_,((Site,Device),Computer)]

我对 scala 很陌生,不知道 joinCondition 是什么,我在 slick(1.0.0) 中找不到任何方法或任何命名的东西,也无法让它工作,它是什么?

4

2 回答 2

4

正如演讲中所说(但未在幻灯片中列出),Slick 目前不提供完整的自动加入功能,而是我们准备的演示 Play 项目的一部分。代码在这里https://github.com/cvogt/play-slick/blob/scaladays2013/samples/computer-database/app/util/autojoin.scala (以及在https://github.com/的其他文件中cvogt/play-slick/blob/scaladays2013/samples/computer-database/app/

于 2013-10-13T08:58:11.907 回答
0

还要查看这篇博客文章,它提供了 Slick 2.0 的解决方案http://tikokelottlegyenviz.blogspot.fr/2013/08/scala-slick-left-join.html

于 2014-05-27T09:24:42.503 回答