在cfloop中分组查询

时间:2013-01-31 21:22:11

标签: coldfusion coldfusion-8 cfquery cfloop

我正在寻找循环查询,并希望使用分组,就像使用cfoutput一样。我知道CF10添加了支持,但有没有一个模拟该行为的脚本,以便可以轻松地迭代项目?


修改 有一些方法可以通过重新排列cfloop标记来解决cfoutput中缺少分组的问题,因此它们不会嵌套。我正在寻找cfloop解决方法的原因是,在嵌套cfoutput时,您需要使用同一查询的结果。我想使用我自己的QoQ并循环遍历结果。

1 个答案:

答案 0 :(得分:3)

好的,所以你想做这样的事情:

<cfoutput query="query1">
    <!--- stuff --->
    <cfoutput query="query2" group="col>
        <!--- more stuff --->
        <cfoutput>
            <!--- still more stuff --->
        </cfoutput>
        <!--- almost the last stuff --->
    </cfoutput>
    <!--- last stuff --->
</cfoutput>

第二个循环给出错误:

Invalid tag nesting configuration.

A query driven cfoutput tag is nested inside a cfoutput tag that also has a query attribute. This is not allowed. Nesting these tags implies that you want to use grouped processing. However, only the top-level tag can specify the query that drives the processing.

您应该可以将其修改为:

<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>

如果必须,还可以选择模拟组循环。但这是一堆思考和打字我宁愿避免,如果可能的话,请让我知道这种方法是否有效。