我有一个非常简单的问题,但我还不知道如何用Breeze做到这一点。 我有一系列ID,我想从Breeze Query中排除这些ID。在SQL中,我会做
SELECT *
FROM Items
WHERE ID NOT IN [...Array...]
我如何对Breeze做同样的事情?是否有操作员执行此操作,或者如何手动执行此操作?
答案 0 :(得分:0)
您可以在Breeze查询中添加多个谓词。小心这样添加太多,但这是我们如何做到这一点的完美例子 -
function getAllTodos(todoIds) {
var Predicate = breeze.Predicate;
var query = breeze.EntityQuery
.from("Todos")
.orderBy("CreatedAt");
var compoundPredicates;
if (todoIds) {
var criteriaPredicate;
$.each(todoIds(), function(index, item) {
criteriaPredicate = (index === 0)
? Predicate.create('todoId', '!=', item)
: criteriaPredicate.or('todoId', '!=', item);
if (Predicate.isPredicate(criteriaPredicate)) {
compoundPredicates = compoundPredicates.and(criteriaPredicate);
}
}
}
}
这个(或类似的东西)允许你将谓词组合在一起并得到所有todo,其中ID不等于数组中的值。