11

I have an Auction domain object and a User domain object. An Auction hasMany Users.

What I'd like to do, using createCriteria, is something like this:

def c = Auction.createCriteria()
def l = c.list (max: maxVar, offset: offsetVar) {
    contains("users", thisUser)
}

Though, contains is not in the list of acceptable nodes: createCriteria description page.

Is there any way to implement this functionality?

To be clear, is there a way to have the criteria be that a specified User object is contained within a collection property of the Auction?

Weezle
  • 730
  • 10
  • 27

1 Answers1

12

Try this:

def l = c.list (max: maxVar, offset: offsetVar) {
    users {
        idEq(thisUser.id)
    }
}
Chris
  • 8,031
  • 10
  • 41
  • 67
  • 1
    Nice... it's not obvious that you can do this, since the syntax looks like "must have a *users* object whose id is this", as opposed to "must have a users collection which contains an object with this id". – Desty May 24 '16 at 15:45