this will cause the relation to be cloned for each field.  Can't we just call where once by just passing in `Hash[fields.zip(values)]`