Dreamfactory:如何在查询

时间:2015-11-24 04:54:46

标签: mysql aggregate-functions

对于dreamfactory的第2版,我无法像以前那样在过滤器或字段参数中使用聚合函数。

假设示例如何使用api

查询以下内容
SELECT HOUR(col2), MAX(col1)-MIN(col1)
FROM table_name
WHERE col3=CURDATE()
GROUP BY col3

我收到以下错误:

1)DateTime::__construct(): Failed to parse time string (CURDATE) at
  position 0    (C): The timezone could not be found in the database.
2)Invalid field requested: HOUR(col2)

1 个答案:

答案 0 :(得分:0)

有几点需要注意。 “SELECT”字段不能包含函数调用,但从版本2.0.2开始,DreamFactory支持virtual fields。将vcol2设置为“HOUR(col2)”并将vcol1设置为“MAX(col1)-MIN(col1)”,然后在字段参数中使用它们。

至于过滤器错误,在下周(12/21)发布的2.0.3版本中修复了一个错误,但所有函数调用必须被parens包围,即“col3 =( CURDATE())”。

以下是正确的API查询:

GET http://server/api/v2/service/_table/table_name?filter=col3%20%3D%20(CURDATE())&group=col3&fields=vcol2,vcol1