как использовать функцию Queryfilter, когда мне нужно получить результаты в терминах Order by - PullRequest
0 голосов
/ 28 ноября 2018

Я получаю сообщение об ошибке при попытке выполнить следующий код:

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);

Ошибка отображает «Недопустимая конструкция CFML, найденная в строке 16 в столбце 22. "

Я знаю, что указанная выше ошибка вызвана упорядочением по obj.name в качестве возвращаемого параметра.Но как я смогу обойтись без какой-либо ошибки?Спасибо.

1 Ответ

0 голосов
/ 28 ноября 2018

Чтобы сделать 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, просто ссылаться на сам запрос.

...