在CFWheels中,我查看的是findAll()页面,它有一个group选项,by没有一个有子句的选项。是否有一种方法可以在findAll()中使用CFWheels中的there子句。
发布于 2015-09-09 12:39:37
只是为了分享。潘卡伊的回答归功于他的评论。谢谢
checklist = model("user_checklist").findAll(select="MAX(user_checklist.r_id)", group="r_id HAVING MAX(user_checklist.r_id) > 13");给你
SELECT MAX(user_checklist.r_id) FROM user_checklist GROUP BY r_id HAVING MAX(user_checklist.r_id) > 13发布于 2015-09-09 08:54:40
非常令人失望的是,即使在新的CFWheels 1.4.2版本中,分组数据的动态过滤也是不可用的。
我发现的是本期,这是一个很老的问题,贴在谷歌集团和谷歌小组讨论下。直到今天,在having语句中使用group by语句的解决方法仍然是使用克弗雷 by 杜弗雷,这是一个ColdFusion关系代数框架。
我建议你试一试,它很容易使用,而且写得很干净。如果您导航到cfrel.cfc,您会发现一个findAll()函数,它看起来与cf轮子中的原始findAll()类似(查看\wheels\model\read.cfm),但是在那里您会发现它立即支持having()。
示例(具有子句的cfrel):
/*
SQL: SELECT productId, SUM(total) AS totalSum FROM orders
GROUP BY productId HAVING SUM(total) > ?
ORDER BY totalSum DESC LIMIT 5
PARAMS: [1000]
*/
myOrdersRel = relation(datasource="cfrel")
.select("productId,SUM(total) AS totalSum")
.from("orders")
.group("productId")
.having("SUM(total) > ?", [1000])
.order("totalSum DESC")
.limit(5);
query2 = rel2.query();https://stackoverflow.com/questions/32470114
复制相似问题