当我必须在条款Order by子句中获得结果时,如何使用Queryfilter函数



我在尝试执行以下代码时出错:

myQuery = queryNew("id,name,amount","Integer,Varchar,Integer", 
[ 
{id=1,name="One",amount=15}, 
{id=2,name="Two",amount=18}, 
{id=3,name="Three",amount=32},
{id=4,name="Four",amount=27},
{id=5,name="Five",amount=43},
{id=6,name="Six",amount=71}
]);
get=myQuery.filter(function(obj){
return (order by obj.name )
});
writeOutput("The filtered query is:")
writeDump(get);

错误显示"在第16行第22列发现无效CFML构造。">

我知道上面的错误是因为obj.name作为返回参数的顺序。但是我怎样才能做到不出错呢?非常感谢。

要执行order by,需要执行sort()而不是filter()

<cfscript>
myQuery = queryNew("id,name,amount","Integer,Varchar,Integer", 
[ 
{id=1,name="One",amount=15}, 
{id=2,name="Two",amount=18}, 
{id=3,name="Three",amount=32},
{id=4,name="Four",amount=27},
{id=5,name="Five",amount=43},
{id=6,name="Six",amount=71}
]);
myQuery.sort("name", "desc");
writeOutput("The filtered query is:")
writeDump(myQuery);
</cfscript>

https://trycf.com/gist/f827f61a03a173a3b13ad01a2cd13dce/lucee5?theme=monokai

已编辑:不需要引用get,只需引用查询本身即可。

最新更新