Как мне исправить сообщение об ошибке. «Помните, что порядковые параметры основаны на 1!» - PullRequest
0 голосов
/ 07 декабря 2010

с учетом фрагмента кода (пожалуйста, не спрашивайте, почему я создаю его таким образом ...)

...some more Logic...
def blaParam = ['checkinable':checkinable]
def blaQuery = " AND c.product = :checkinable"
...some more Logic...

и

def paramBox = [] + blaParam
def queryBox = "" + blaQuery
def c = Bla.executeQuery("FROM Bla b WHERE 1 = 1 "+queryBox+" ", paramBox, [max:params.max])

Я получаю сообщение

errors.GrailsExceptionResolver Remember that ordinal parameters are 1-based!

Как мне предотвратить это?

Ответы [ 2 ]

1 голос
/ 07 декабря 2010

если я изменю

def paramBox = [] + blaParam

на

def paramBox = [:] + blaParam

, он работает

1 голос
/ 07 декабря 2010

Слияние двух последних карт параметров работало для меня:

Bla.executeQuery("FROM Bla b WHERE 1 = 1 "+queryBox+" ", paramBox + [max:params.max])
...