Reputation: 831
When I look at index.gsp for OfferHeader I get only the "Previous" button and when clicking on it until it finds the top the button disappear. The trouble is that I need to use the findAllBy-list to get a filtered listing so the respond can look like this:
respond offerHeader, model:[offerHeaderCount: offerHeader.count()]
because offerHeader.count() is not allowed so I used .size() instead.
Controllers index look like this:
def index(Integer max) {
params.max = Math.min(max ?: 10, 100)
def offerHeader = OfferHeader.findAllByOfferType('o',params)
def count = offerHeader.size()
respond offerHeader, model:[offerHeaderCount: offerHeader.size()]
}
Hmm Grails doesn't like me..
I got this error:
URI
/offerHeader/index
Class
groovy.lang.MissingPropertyException
Message
null
Caused by
No such property: createCriteria for class: com.torntrading.portal.OfferHeader
Around line 15 of grails-app\controllers\com\torntrading\portal\OfferHeaderController.groovy
12:
13: def index(Integer max) {
14: params.max = Math.min(max ?: 10, 100)
15: def offerHeader = OfferHeader.createCriteria.list( params ) { eq ( "offerType", "o" )}
16:
17: def count = offerHeader.size()
18: respond offerHeader, model:[offerHeaderCount: offerHeader.totalCount
creteCriteria should be used like this:
def index(Integer max) {
params.max = Math.min(max ?: 10, 100)
def offerHeader = OfferHeader.createCriteria().list( params ) { eq ( "offerType", "o" )}
def count = offerHeader.size()
respond offerHeader, model:[offerHeaderCount: offerHeader.totalCount]
}
Upvotes: 0
Views: 103
Reputation: 3932
A criteria query can be better is this scenario:
def offers = OfferHeader.createCriteria().list( params ) {
eq ( "offerType", "o" )
}
respond offers, model: [offerHeaderCount: offers.totalCount]
Upvotes: 1