我在postgresql中将json列映射到光滑模型中的JsValue。
case class Product(id: EntityId, name: JsValue)
class Products(tag: Tag) extends BaseTable[Product](tag, "products") {
def name = column[JsValue]("name")
def * =
(id, name) <> (Product.tupled, Product.unapply)
}
我可以使用slick-pg库在json列中执行搜索 (https://github.com/tminglei/slick-pg)
val nameFilter: JsValue = Json.obj("en" -> name)
products.filter(_.name @> nameFilter).result.headOption
但是问题是PostgreSql区分大小写,我需要在name.en
内执行不区分大小写的搜索
由于toLowerCase
是JsValue,我不能使用_.name.toLowerCase
光滑扩展名(例如name
)
是否可以通过slick在json列中执行不区分大小写的搜索?