为什么我可以在嵌入在对象中的查询中引用RecordCount但我无法循环它?

时间:2017-01-17 20:27:22

标签: coldfusion coldfusion-9 cfoutput

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

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

如果我执行以下操作:

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

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

我也可以这样做:

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

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

那么,为什么我不能这样做:

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

执行上述操作时,我收到以下错误:

  

属性查询的值(当前为prc.surveyTemplateObj.getSurveyTemplateQuestions())无效。

但是我可以这样做:

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

当我对对象的最后一个属性cfdump显示为查询时,我怎么可能在查询对象上做RecordCount,但我无法循环通过cfoutput

查询对象

1 个答案:

答案 0 :(得分:3)

此:

prc.surveyTemplateObj.getSurveyTemplateQuestions()

是功能结果。如果要循环遍历它,请先将其分配给变量:

myVariable = prc.surveyTemplateObj.getSurveyTemplateQuestions();

<cfoutput query = "myVariable">
etc