Adding a standard query filter to a query result

Use the addFilter method on a query builder result object to restrict the items you obtain when you iterate the result. The method takes as its single argument a StandardQueryFilter object. You can add as many filters as you want to a query result.

The following Gosu code adds a standard query filter to restrict a result object to addresses in the city of Chicago.

uses gw.api.database.Query
uses gw.api.filters.StandardQueryFilter

// Create a query of addresses.
var result = Query.make(Address).select()

// Create a standard query filter for addresses in the city of Chicago. 
var queryFilterChicago = new StandardQueryFilter("Chicago Addresses", 
        \ query -> {query.compare("City", Equals, "Chicago")})

// Add the Chicago addresses filter to the result. 
result.addFilter(queryFilterChicago) 

// Iterate the addresses in Chicago. 
for (address in result) {
  print (address.City + ", " + address.State + "  " + address.PostalCode)
}

Use the addFilter method when you need a single result to have one or more query filters in effect at the same time.