scala 如何使用'or' with 'where'子句为scylladb使用幻影dsl?

8oomwypt  于 2023-06-29  发布在  Scala
关注(0)|答案(1)|浏览(222)

我正在使用幻影dsl库来执行scylladb操作。现在,我试图将“where”子句与“or”子句结合起来,但它不起作用。

db.object
.select
.where(_.businessEmail eqs "abc@gmail.com")
.or(_.homeEmail eqs "abc@gmail.com")
.or(_.additionalEmail eqs "abc@gmail.com")
.fetch()

错误:

value or is not a member of com.outworkers.phantom.builder.query.SelectQuery[com.outworkers.phantom.builder.Unlimited,com.outworkers.phantom.builder.Unordered,com.outworkers.phantom.builder.Unspecified,com.outworkers.phantom.builder.Chainned,shapeless.HNil]
possible cause: maybe a semicolon is missing before `value or`?
      .or(_.homeEmail eqs "abc@gmail.com")

如何使用“or”子句?

bqucvtff

bqucvtff1#

SelectQuery的where方法再次返回SelectQuery,这允许您调用和方法,该方法将被转换为WHERE子句中的AND运算符。如果你查看SelectQuery的方法,你不会发现任何一个方法允许在WHERE子句中使用OR运算符,因为OR operator is supported in ScyllaDB
official docs of ScyllaDB中,您还将看到select语句没有OR运算符,select statement in CQL也是如此。
repo of ScyllaDBAdd basic support for the logical OR operator in CQL中存在一个未决问题。不确定是否会添加到phantom,因为知道最后一次提交是on Aug 16, 2021

相关问题