最近在玩 Dataway,遇到一个简单的问题,这里记录下
问题介绍
Dataway 的 DataQL 查询数据时,返回数据1个和多个时结构不一致
如下图,多个是数组,单个不是数组
问题解决
解决这个问题很简单,我们可以使用 DataQL 语句判断返回数据的长度,如果是1个,则给它加上去[]
完整代码如下
// 设置数据源
hint FRAGMENT_SQL_DATA_SOURCE = "ds1"
// 开启分页
hint FRAGMENT_SQL_QUERY_BY_PAGE = true
// 设置从第1页开始
hint FRAGMENT_SQL_QUERY_BY_PAGE_NUMBER_OFFSET = 1
// 声明一个 SQL
var dataSet = @@sql(name) <%
select * from user where name like concat('%',#{name}, '%' )
%>
// 执行SQL
var queryPage = dataSet(${name});
// 定义分页
run queryPage.setPageInfo({
"currentPage" : #{currentPage}, // 页码,从第0页开始
"pageSize" : #{pageSize} // 页大小
});
// 返回结果设置
var info = queryPage.pageInfo();
var data = queryPage.data();
if (info.totalCount == 0) {
return {"pageInfo": info, "pageData": []};
}
if (info.totalCount == 1) {
return {"pageInfo": info, "pageData": [data]};
}
return {"pageInfo": info, "pageData": data};
效果图如下
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏