我有一个非常简单的问题,但我还不知道如何用 Breeze 来解决。我有一组 ID,我想从 Breeze Query 中排除这些 ID。在 SQL 中,我会做
SELECT *
FROM Items
WHERE ID NOT IN [...Array...]
我如何对 Breeze 做同样的事情?是否有操作员来执行此操作,或者我该如何手动执行此操作?
我有一个非常简单的问题,但我还不知道如何用 Breeze 来解决。我有一组 ID,我想从 Breeze Query 中排除这些 ID。在 SQL 中,我会做
SELECT *
FROM Items
WHERE ID NOT IN [...Array...]
我如何对 Breeze 做同样的事情?是否有操作员来执行此操作,或者我该如何手动执行此操作?
您可以向 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);
}
}
}
}
这(或类似的东西)允许您将谓词组合在一起并获取 ID 不等于数组中的值的所有待办事项。