Persistent Filters:使用 Or 时在过滤器中进行 And 操作
Persistent Filters: And operation in filters when using Or
Persistent 有一个 OR 过滤器 ||.
但它似乎没有相应的 &&.
我想做类似 A && (B || C) && (D || E)
的事情,但我不确定最干净的方法做吧。
我想我可以创建所有组合,如 (A && B && D) || (A && C && D) || (A && B && E) || (A && C && E)
。即使对于这个简单的例子,它也变得相当笨拙。不确定 persistent
是否有更好的方法来做到这一点。
代码在我执行时编译(在 selectList
内)[A] ++ ([B] ||. [C]), etc.
但不确定它是否等同于我想要的。
谢谢!
people <- selectList [PersonAge >. 25, PersonAge <=. 30] []
liftIO $ print people
The list of filters is AND
ed together, so that our constraint means "age is greater than 25 AND age is less than or equal to 30". We’ll describe ORing later.
Persistent 有一个 OR 过滤器 ||.
但它似乎没有相应的 &&.
我想做类似 A && (B || C) && (D || E)
的事情,但我不确定最干净的方法做吧。
我想我可以创建所有组合,如 (A && B && D) || (A && C && D) || (A && B && E) || (A && C && E)
。即使对于这个简单的例子,它也变得相当笨拙。不确定 persistent
是否有更好的方法来做到这一点。
代码在我执行时编译(在 selectList
内)[A] ++ ([B] ||. [C]), etc.
但不确定它是否等同于我想要的。
谢谢!
people <- selectList [PersonAge >. 25, PersonAge <=. 30] [] liftIO $ print people
The list of filters is
AND
ed together, so that our constraint means "age is greater than 25 AND age is less than or equal to 30". We’ll describe ORing later.