GORM paginateParams проблема использования - PullRequest
3 голосов
/ 15 марта 2011

Я просто пытаюсь сделать нумерацию страниц, но до сих пор не мог сделать это.У меня есть 2 класса домена и отношения один ко многим.

class User {
   static hasMany = [contacts:Contact]
}

class Contact {
   static belongsTo = [ user : User ]
}

У меня 20 контактов.

Когда я пытался сделать запрос, подобный этому:

def maxResult = 20

def startIndex = 0

def contacts = Contact.findAllByUser(user, [max:maxResult, offset:startIndex])

это не работает.Запрос работает, но нумерация страниц с помощью gorm не работает.Результатом является только 1 контактный объект.

, когда я пытался;

def startIndex = 0

def contacts = Contact.findAllByUser(user, [offset:startIndex])

Результатом является 20 контактных объектов, но когда я попробовал его с другим значением startIndex, он также не работает.для startIndex = 5 результат также равен 20 объектам.

Есть ли у кого-нибудь какие-либо идеи по этому поводу.Может быть, я делаю что-то не так, может быть, это проблема Горм.Я не нашел ответ.Спасибо за ваши ответы.

1 Ответ

1 голос
/ 16 марта 2011

Я еще не пробовал DynamicFinder сделать это, но когда я просматриваю документ, ваш синтаксис кажется правильным. В качестве альтернативы я использую createCriteria для решения проблемы подкачки.

def queryResult = Contact.createCriteria().list(max: max, offset: offset) {
            and {
                /// FILTER ///
                user {
                    eq("id", userInstance.id)
                }
            }
    }
...