쿼리 및 카운트 및 오프셋 매개 변수의 유무에 따라 조건부로 향상시키는 쿼리가 있습니다. 이 방법에 비해이 작성하는 더 간결한 방법이 있다면ScalaQuery 쿼리를 조건부로 향상
val retrieveCustomer: (Option[String], Option[Int], Option[Int]) => List[Customer] = { (customerId : Option[String], count : Option[Int], offset : Option[Int]) =>
val initialQ: Query[CustomerTable.type, Customer] = customerId.map(c => CustomerTable.where(_.id === c)).getOrElse(CustomerTable.map { c => c })
val qPlusOffset = offset.map (offset => initialQ.drop(offset)).getOrElse(initialQ)
val qoPlusLimit = count.map(count => qPlusOffset.take(count)).getOrElse(qPlusOffset)
DBGlobal.db.withTransaction { qoPlusLimit.list }
}
이 궁금 해요.
기도하십시오.