由于我是该公司的新成员,因此我试图以更好的形式搜索Google的Coldfusion中的“查询”,并且我试图从CF中获取更多信息
这是我的尝试:
我的模型:
<cffunction hint="Foo" name="Foo" access="public" returntype="query">
<!--- Argumentos --->
<cfargument hint="Something" name="ArgComBus" type="string" required="no" default="">
<cfargument hint="Other thing" name="ArgPar" type="string" required="no" default="">
<cfscript>
queryService = new Query();
queryService.setSql("
SELECT
column1,
column2,
FROM
tab_bar
WHERE
1=1
#arguments.ArgComBus#
");
queryService.setDataSource(session.Dsn);
if(Len(Trim(arguments.ArgPar))){
Evaluate(arguments.ArgPar);
}
queryResult = queryService.execute();
qBus = queryResult.getResult();
</cfscript>
<cfreturn qBus>
</cffunction>
我的脚本
<cfscript>
arrFoo = arrayNew(1);
qFoo = this.Foo(
ArgComBus = " AND column1 = #variables.bar# ");
// First Attempt - The each method was not found.
qFoo.each(function (foo) {
arrFoo.append(foo);
});
// Second Attempt - Variable QUERYEACH is undefined.
queryEach(qFoo, function (foo) {
arrFoo.append(foo);
});
writeDump(arrFoo);
</cfscript>
我的服务器转储
InstallKit Native Windows
appserver Tomcat
productlevel Developer
productname ColdFusion Server
productversion 11,0,05,293506
rootdir C:\CFusion11\cfusion
我什至在查询变量getMetaData()
上使用了qFoo
,返回的是数组……所以当我尝试使用类似的东西(试图在查询中转换数组?)
cfQuery = createObject("java", "coldfusion.sql.QueryTable").init(qFoo);
.each()
和queryEach()
相同的答案...我什至尝试使用arrayEach()
,但返回的对象是coldfusion.sql.QueryTable
而不是数组
答案 0 :(得分:6)
您正在运行ColdFusion 11。
直到ColdFusion 2016才添加ngOnInit() {
this.route.params.subscribe(params => console.log(params));
}
函数:
最初,我曾发布过queryEach()
成员函数在Adobe ColdFusion 11中不可用的消息。阿基坦在评论中指出它实际上是正确的。我错误地引用了{{1} }适用于集合的Lucee函数。与此问题相关的each()
函数实际上是Each()
标签函数的脚本版本。在ColdFusion 11中可用(实际上是在ColdFusion 10中添加的)。抱歉造成混乱。
文档可能有误。除了在ColdFusion 2018下,我无法使用该功能作为Each()
。对于ColdFusion 11,我只能使其在ArrayEach()
下工作。
以下是一些有关如何在ColdFusion 11中循环查询的示例(从cfdocs借来的):
Each()
我在TryCF.com上为您创建了要点,因此您可以查看此代码的运行情况,并根据需要进行尝试。 Just click here to run the code。