如何使用包含条件从 Phantom 中的 ListColumn [String] 获取数据
How to fetch data from ListColumn[String] in Phantom using contains condition
我有一个 Cassandra table Department
列 name_list extends ListColumn[String]
和 id extends StringColumn with PartitionKey
.
我想获取 id 请求的 name 出现在 name_list.
我尝试使用 in 运算符 select(_.id).where(name in name_list)
但它不起作用。
我尝试了另一个查询 select(_.id).where(_.name_list contains name)
,但它也不适合我。
def getByName(name: String) = {
select(_.id, _.name_list).where(_.name_list contains name)
}
有什么办法可以解决!!
您可以使用 SetColumn 作为列的类型,然后您将能够使用 contains
方法。使用这个
name_list extends SetColumn[String]
这样就可以了
def getByName(name: String) = {
select(_.id, _.name_list).where(_.name_list contains name)
}
谢谢
我有一个 Cassandra table Department
列 name_list extends ListColumn[String]
和 id extends StringColumn with PartitionKey
.
我想获取 id 请求的 name 出现在 name_list.
我尝试使用 in 运算符 select(_.id).where(name in name_list)
但它不起作用。
我尝试了另一个查询 select(_.id).where(_.name_list contains name)
,但它也不适合我。
def getByName(name: String) = {
select(_.id, _.name_list).where(_.name_list contains name)
}
有什么办法可以解决!!
您可以使用 SetColumn 作为列的类型,然后您将能够使用 contains
方法。使用这个
name_list extends SetColumn[String]
这样就可以了
def getByName(name: String) = {
select(_.id, _.name_list).where(_.name_list contains name)
}
谢谢