google-apps-script - 如何从 AppMaker 中的 Query 对象中获取排序字段和顺序?
问题描述
在他们的例子中有这样的东西:
var query = app.models.Person.newQuery();
query.sorting.Name._ascending();
如何从中提取列和顺序?
我试过console.log(Object.keys(query.sorting));
了,但它不起作用。
解决方案
根据我的解释,即您想返回列名和已排序的列的排序顺序,我将提出以下解决方案。
首先,请注意,query.sorting.YourFieldName.
在查询服务器脚本中使用时,代码自动完成中会显示以下选项 - _ascending、_descending、_order 和 _priority。当悬停在 _order 选项上时,您会注意到这是一个只读属性,它指出升序将返回 true,而降序将返回 false。没有提到的是特定列上的任何订单都不会返回未定义。
因此,以下代码对我有用,并返回了包含列名和顺序的控制台日志,尽管如果有任何已排序的关系字段,则此代码不会被选中:
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');
}
}
控制台将返回“列名:名称,顺序:升序”。让我们知道这是否是您真正想要的。
推荐阅读
- python - 如何根据列对嵌套列表进行排序?
- swift - Cocoapods v. 1.10.0 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 错误 Xcode 版本 12.0.1
- excel - 使用 Excel VBA 在数据库中填写分月付款
- python - Pandas 数据框合并返回 NaN 值
- ruby - 我正在努力让我的程序从我的 API 返回特定信息
- python - 填充时间间隔后导入值的问题
- java - 将数据从 AlertDilog 返回到 MainActivty
- visual-studio - Visual Studio 构建失败,但未显示错误
- sql - SQL查找以下会话 - 与交叉连接不同的逻辑
- css - 反应中的中心组件