我发现valuelist()
函数不喜欢动态命名的查询:
<cfscript>
variables.nNumber = 1;
request.qDirectories = new query();
request.qDirectories.setDBType('query');
request.qDirectories.setAttributes(qDirectories=request.qAllDirectories);
request.qDirectories.setSQL("SELECT id, name, abbr, multiproperties, isPublished,
isArchived, dateAdded, lastModified, lastModifiedBy,
prefix, lstJournalCodes FROM qDirectories");
request["qDirectories#variables.nNumber#"] = request.qDirectories.execute().getResult();
writeDump(valueList(request["qDirectories#variables.nNumber#"].id));
</cfscript>
发现这一点后,我认为arrayToList()
会有所帮助。它确实有帮助,但即使有多行,它也只会带回一个值的数组。
有没有办法从动态命名的查询中获取特定列的所有值?
答案 0 :(得分:7)
将动态查询复制/引用到更简单的变量名称没有帮助?如:
tempQry= request["qDirectories#variables.nNumber#"];
valueList(tempQry.id);