Coldfusion 在cfloop中对查询进行分组
我希望循环查询,并希望使用分组,就像使用Coldfusion 在cfloop中对查询进行分组,coldfusion,coldfusion-8,cfquery,cfloop,Coldfusion,Coldfusion 8,Cfquery,Cfloop,我希望循环查询,并希望使用分组,就像使用cfoutput一样。我知道CF10增加了这种支持,但是否有一个脚本可以模拟这种行为,以便可以轻松地迭代项目 编辑: 通过重新排列cfoutput标记,可以绕过cfloop中缺少分组的问题,这样它们就不会嵌套。我之所以寻找cfloop解决方案,是因为嵌套cfoutput时,需要使用来自同一查询的结果。我想用我自己的QoQ和循环通过结果 好的,那么你想做这样的事情: <cfoutput query="query1"> <!---
cfoutput
一样。我知道CF10增加了这种支持,但是否有一个脚本可以模拟这种行为,以便可以轻松地迭代项目
编辑:
通过重新排列
cfoutput
标记,可以绕过cfloop
中缺少分组的问题,这样它们就不会嵌套。我之所以寻找cfloop
解决方案,是因为嵌套cfoutput
时,需要使用来自同一查询的结果。我想用我自己的QoQ和循环通过结果 好的,那么你想做这样的事情:
<cfoutput query="query1">
<!--- stuff --->
<cfoutput query="query2" group="col>
<!--- more stuff --->
<cfoutput>
<!--- still more stuff --->
</cfoutput>
<!--- almost the last stuff --->
</cfoutput>
<!--- last stuff --->
</cfoutput>
您应该能够将其修改为:
<cfloop query="query1">
<cfoutput>
<!--- stuff --->
</cfoutput>
<cfoutput query="query2" group="col>
<!--- more stuff --->
<cfoutput>
<!--- still more stuff --->
</cfoutput>
<!--- almost the last stuff --->
</cfoutput>
<cfoutput>
<!--- last stuff --->
</cfoutput>
</cfloop>
如果您想像使用
一样循环查询,为什么不直接使用
?不必太挑剔。我想了解你的问题。如果你说从一开始我就不用问了,是吗?我从来没有说过CF10的功能不是天赐之物(碰巧,我是将其引入语言的主要支持者之一)。我问的是为什么你不能直接使用
,你在问题中根本没有解释过这一点。您仍然应该更新您的问题,以包含此信息,因为它对您的问题有点关键。您不能将此
嵌套在CF9@AdamCameron你的CF9和我的不同。此:
抛出了此无效的标记嵌套配置。
,正如预期的那样。@Daniel-有多少级别?单个级别的分组相对简单,即if(query.currentRow eq 1或valueInCurrentRow neq valueInPreviousRow){输出值;}
如果您需要更多,它会变得复杂..“这是一堆我宁愿避免的思考和键入”同意,我只是觉得有人已经这么做了,因为对这个功能的要求似乎并没有那么不合理。你展示的选项是,如果我想重构代码,我将如何处理它。我相信有人会有一些代码,他们随时会弹出。我很惊讶Peter Boughton还没有出现(你确实唱过“Candyman Candyman Candyman Candyman Candyman Candyman Candyman”,对吧?;-)
<cfloop query="query1">
<cfoutput>
<!--- stuff --->
</cfoutput>
<cfoutput query="query2" group="col>
<!--- more stuff --->
<cfoutput>
<!--- still more stuff --->
</cfoutput>
<!--- almost the last stuff --->
</cfoutput>
<cfoutput>
<!--- last stuff --->
</cfoutput>
</cfloop>