Use the ListQualify()
function to pass a list of strings to the where
argument in CFWheels ORM finders. ListQualify()
encloses each list element in with the string specified (in this case, a single quote). Without it, CFWheels interprets the list as a single value.
<cfscript> names = "Foo,Bar"; users = model("User").findAll(where="firstname IN ('#names#')"); /* * Generates SQL Query.. Not so good SELECT firstname, lastname FROM users WHERE firstname IN ('Foo,Bar') */ users = model("User").findAll(where="firstname IN (#ListQualify(names, "'")#)"); /* * Generates SQL Query. Great success! SELECT firstname, lastname FROM users WHERE firstname IN ('Foo','Bar') */ </cfscript>
Didn’t know about ListQualify. Nice trick and much cleaner than the soup that I usually write to pull this off.