在激活框架上查询“AND”听起来很简单,“,”使“AND”工作
transactional {
val personList2 = allWhere[NaturalPerson](_.name :== "Test", _.motherName :== "Mother")
}
我想知道OR是如何制作的。一个例子会很好。
在激活框架上查询“AND”听起来很简单,“,”使“AND”工作
transactional {
val personList2 = allWhere[NaturalPerson](_.name :== "Test", _.motherName :== "Mother")
}
我想知道OR是如何制作的。一个例子会很好。
查看框架附带的测试套件。这是一个示例测试,取自QuerySpecs.scala
:
"support query with or" in {
activateTest(
(step: StepExecutor) => {
import step.ctx._
step {
newFullActivateTestEntity
newEmptyActivateTestEntity
}
step {
query {
(e: ActivateTestEntity) =>
where( (e.booleanValue :== true)
:|| (e.booleanValue :== false)
:|| (e.booleanValue isNull)) select (e)
}.size must beEqualTo(3)
query {
(e: ActivateTestEntity) =>
where( (e.booleanValue :== true)
:|| (e.charValue :== fullCharValue)) select (e)
}.size must beEqualTo(1)
}
})
}
您可以将 OR 与 allWhere 一起使用。请注意,您必须使用括号。
allWhere[NaturalPerson](p => (p.name :== "Test") :|| (p.motherName :== "Mother"))
或者您可以使用完整的查询表:
query {
(p: NaturalPerson) => where((p.name :== "Test") :|| (p.motherName :== "Mother")) select(p)
}