Scala 如何重用slick查询的部分
编辑:注意,我的项目使用slick 2.0 我正在编写两个函数,看起来像Scala 如何重用slick查询的部分,scala,slick,Scala,Slick,编辑:注意,我的项目使用slick 2.0 我正在编写两个函数,看起来像 def getByFooId(fooId: Long) : Option[(Foo, Bar, Option[Baz])] = { database.withSession { implicit session => val query = for { ((foo, bar), baz) <- Foo.query join Bar.query on (_.id === _.foo
def getByFooId(fooId: Long) : Option[(Foo, Bar, Option[Baz])] = {
database.withSession { implicit session =>
val query = for {
((foo, bar), baz) <- Foo.query join Bar.query on (_.id === _.fooId) leftJoin Baz.query on (_._1.id == _.fooId)
if foo.id === fooId
} yield (foo, bar, baz.?)
query.list
}
}
def getByBarId(bazId: Long) : List[(Foo, Bar, Option[Baz])] = {
database.withSession { implicit session =>
val query = for {
((foo, bar), baz) <- Foo.query join Bar.query on (_.id == _.fooId) leftJoin Baz.query on (_._1.id === _.fooId)
if (bar.id === barId)
} yield (foo, bar, baz.?)
query.list
}
}
def getByFooId(fooId:Long):选项[(Foo,Bar,Option[Baz])]{
database.withSession{隐式会话=>
val query=for{
((foo,bar),baz)
val query=for{
((foo,bar),baz)你在用老滑头…使用最新的滑头..是的,现在我的项目使用滑头2.0使用滑头3..滑头3比滑头2好多..在很多方面你在用老滑头..使用最新的滑头..是的,现在我的项目使用滑头2.0使用滑头3..滑头3比滑头2好多..在很多方面