首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在AppMaker中从查询对象中获取排序字段和排序顺序?

如何在AppMaker中从查询对象中获取排序字段和排序顺序?
EN

Stack Overflow用户
提问于 2019-05-21 05:10:54
回答 1查看 84关注 0票数 -1

在他们的例子中有这样的东西:

代码语言:javascript
复制
var query = app.models.Person.newQuery();
query.sorting.Name._ascending();

如何从中提取列和顺序?

我尝试过console.log(Object.keys(query.sorting));,但它不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-22 00:22:01

根据我的解释,即您希望返回列名和具有排序的列的排序顺序,我将提出以下解决方案。

首先,请注意,当在查询服务器脚本中使用query.sorting.YourFieldName.时,代码autocomplete中提供了以下选项- _ascending、_descending、_order和_priority。当将鼠标悬停在_order选项上时,您会注意到这是一个只读属性,它声明升序将返回true,而降序将返回false。没有提到的是,特定列上的任何顺序都不会返回undefined。

因此,以下代码适用于我,并返回了一个包含列名和顺序的控制台日志,尽管如果有任何排序的关系字段,则此代码不会拾取:

代码语言:javascript
复制
var query = app.models.Person.newQuery();
query.sorting.Name._ascending();
var fields = app.metadata.models.Person.fields;
for (var i in fields) {
  //if statement first checks column is not a foreign key and that column has sorting 
  if(i.indexOf('_fk') === -1 && query.sorting[i]._order !== undefined) {
    console.log(query.sorting[i]._order ? 'Column Name: ' + i + ', Order: Ascending' : 'Column Name: ' + i + ', Order: Descending');
  }
}

控制台将返回“列名:名称,顺序:升序”。如果这就是你要找的,请让我们知道。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56228230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档