2017-01-17 21 views
2

我有一个模型,surveyTemplate,它只有一个属性由查询填充。为什么我可以在嵌入对象的查询中引用RecordCount,但是我无法遍历它?

我在模型的最后一个属性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

+0

只是为了澄清,如果你看看[的文档(https://helpx.adobe.com/coldfusion/cfml-reference/ coldfusion-tags/tags-mo/cfoutput.html),它表示它期望查询的*名称*,即字符串,而不是查询*对象*或类似返回查询对象的函数。 – Leigh

回答

3

此:

prc.surveyTemplateObj.getSurveyTemplateQuestions() 

是一个函数的结果。如果你想通过它循环,将其分配给一个变量第一:

myVariable = prc.surveyTemplateObj.getSurveyTemplateQuestions(); 

<cfoutput query = "myVariable"> 
etc 
+0

嗨丹,谢谢你的回复。我相信我确实尝试过,但我现在要仔细检查。 –

+0

那么,我站在纠正。我必须更早地疯狂,你当然是对的。谢谢! –

相关问题