Я бы хотел представить postgres smallint как логическое значение.Я получаю сообщение об ошибке: оператор не существует: smallint = boolean, при использовании операции asColumnOf.Есть ли способ привести smallint к логическому значению, используя slick.
case class Bike(id: Long, hasBasket: Boolean)
trait BikeTable {
class Bikes(tag: Tag) extends Table[Bike](tag, "bike") {
def id = column[Long]("id")
def hasBasket = column[Boolean]("has_basket")
overide def * = (id,hasBasket) <> ((Bike.apply _).tupled, Bike.unapply)
}
protected val bycles = TableQuery[Bikes]
}
def getBycycleFilterDetails(bycleSearch:BycleSearch):
Future[Seq[BycleDetails]] = {
val query = for {
bikes <- byclces
} yield (byclces.id, byclces.hasBasket)
val possiblyFilteredByHasBasket = if (bycleSearch.hasBasket.isDefined) {
query.withFilter(u => u._2.asColumnOf[Boolean] === bycleSearch.hasBasket.get)
} else query
val result = possiblyFilteredByHasBasket.result
, если я использую
u => u._2.asColumnOf[Boolean] == bycleSearch.hasBasket.get or u => u._2 == bycleSearch.hasBasket.get
Я получу пустой набор результатов, если я использую
u => u._2.asColumnOf[Boolean] === bycleSearch.hasBasket.get or u => u._2 === bycleSearch.hasBasket.get
Я получаю ошибку postgres выше. Таблица базы данных postgres представляет has_basket типом smallint, который я не могу контролировать.