我有一张类似的桌子
final class FooTable(tag: Tag) extends Table[Foo](tag, "foo") {
def id = column[Int]("id", O.PrimaryKey)
def amount = column[Long]("amount")
def createTs = column[Timestamp]("create_ts")
def updateTs = column[Timestamp]("update_ts")
def * = (id, amount, status, createTs, updateTs) <> (Foo.tupled, Foo.unapply)
}
并尝试检查TableQuery[FooTable].map{_.amount}.sum >= 10L
结果是否为真,我想DBIO.seq
在单个db.run
.
到目前为止我已经尝试过
val action = for {
bar <- (foos.map{_.amount}.sum <= givenLongValue)
result <- DBIO.seq("//some queries here") if bar
} yield result
但这不起作用,因为这个错误
发现:slick.lifted.Rep[Boolean] 需要:布尔
我也试过这种方式
(fooes.map{_.amount}.sum <= amount).filter{_}.map{ x =>
DBIO.seq("some actions")
}
但这也会产生错误
找不到参数 ol 的隐式值:slick.lifted.OptionLift[slick.driver.MySQLDriver.api.DBIOAction[Unit,slick.driver.MySQLDriver.api.NoStream,slick.driver.MySQLDriver.api.Effect.Write with slick .driver.MySQLDriver.api.Effect.Transactional],slick.lifted.Rep[Option[QO]]]
我怎样才能做到这一点?
提前致谢。