为什么我可以在对象中嵌入的查询中引用 RecordCount 但我不能遍历它?

Why can I reference RecordCount on a query embedded in an object but I can't loop over it?

我有一个模型 surveyTemplate,除了一个属性外,它的所有属性都由查询填充。

我在模型的最后一个 属性 中存储了一个额外的查询,称为 surveyTemplateQuestions

如果我执行以下操作:

writeDump(var="#surveyTemplateObj#"); abort;

我用包含查询数据的最后 属性 正确填充了模型。

我也可以这样做:

writeDump(var="#surveyTemplateObj.getSurveyTemplateQuestions()#"); abort;

现在我只得到存储在模型最后 属性 中的查询。

所以,为什么我不能这样做:

<cfoutput query="prc.surveyTemplateObj.getSurveyTemplateQuestions()">

执行上述操作时出现以下错误:

The value of the attribute query, which is currently prc.surveyTemplateObj.getSurveyTemplateQuestions(), is invalid.

但我可以改为这样做:

<cfloop from="1" to="#prc.surveyTemplateObj.getSurveyTemplateQuestions().RecordCount#" index="i">

当我对对象的最后一个 属性 执行 cfdump 它显示为查询时,我怎么可以对查询对象执行 RecordCount,但是我无法通过 cfoutput?

遍历查询对象

这个:

prc.surveyTemplateObj.getSurveyTemplateQuestions()

是函数结果。如果要循环遍历,先赋值给一个变量:

myVariable = prc.surveyTemplateObj.getSurveyTemplateQuestions();

<cfoutput query = "myVariable">
etc