如何在 breeze js 中用 2 个 where 子句过滤 table
How to filter a table with 2 where clauses in breeze js
我正在尝试在我的 table 中获取所有满足我条件的记录。
这是我的 Breeze 函数:
function getAll(page, size) {
var take = size || 40;
var skip = page ? (page - 1) * size : 0;
var predicate = Predicate.create('issueStatusId', '==', 1,
'or', 'issueStatusId', '==' , 2);
return EntityQuery.from('Issues')
.where(predicate)
.orderBy(orderBy)
.take(take)
.skip(skip)
.expand('Status, Category', 'Notes')
.toType(entityName)
.using(this.manager)
.execute()
.to$q(querySucceeded, self._queryFailed);
function querySucceeded(data) {
var datarecieved = data.results;
return datarecieved;
}
}
正如您在上面看到的,我正在尝试获取所有 issueStatusId 为 1 或 IssueStatusId 为 2 的记录。该函数目前只有 returns issueStatusId 为 1 的记录。什么是在 breese js 中编写 2 where 子句的最佳方法?或者这根本不可能?
谢谢
你对谓词的想法是正确的,但语法有点不对劲。应该是:
var predicate = Predicate.create('issueStatusId', '==', 1)
.or('issueStatusId', '==' , 2);
我正在尝试在我的 table 中获取所有满足我条件的记录。 这是我的 Breeze 函数:
function getAll(page, size) {
var take = size || 40;
var skip = page ? (page - 1) * size : 0;
var predicate = Predicate.create('issueStatusId', '==', 1,
'or', 'issueStatusId', '==' , 2);
return EntityQuery.from('Issues')
.where(predicate)
.orderBy(orderBy)
.take(take)
.skip(skip)
.expand('Status, Category', 'Notes')
.toType(entityName)
.using(this.manager)
.execute()
.to$q(querySucceeded, self._queryFailed);
function querySucceeded(data) {
var datarecieved = data.results;
return datarecieved;
}
}
正如您在上面看到的,我正在尝试获取所有 issueStatusId 为 1 或 IssueStatusId 为 2 的记录。该函数目前只有 returns issueStatusId 为 1 的记录。什么是在 breese js 中编写 2 where 子句的最佳方法?或者这根本不可能?
谢谢
你对谓词的想法是正确的,但语法有点不对劲。应该是:
var predicate = Predicate.create('issueStatusId', '==', 1)
.or('issueStatusId', '==' , 2);