Я искал в 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
, а не массив