v2.2.1
08-September-2023
Changes
New with method
Introducing the with method:
with(Iterable<String> fields)
Now you can pass a List or Set of fields for your query. This feature can be incredibly helpful for dynamic queries.
Note! Whenever possible, please use with(List<SObjectField> fields). SObjectField refers to the field in the code. If someone tries to remove it, an error message will appear: "This custom field definition is referenced elsewhere in salesforce.com."
Example usage with a List:
SOQL.of(Account.SObjectType)
.with(new List<String>{'Id', 'Name', 'Industry'})
.toList();Example usage with a Set:
SOQL.of(Account.SObjectType)
.with(new Set<String>{'Id', 'Name', 'Industry'})
.toList();Add COUNT to toInteger()
When the COUNT statement is not specified with toInteger(), COUNT will be automatically added. This simplifies the query.
Previously, code like the following would throw an error:
Integer accountsAmount = SOQL.of(Account.SObjectType).toInteger(); The valid option was:
// SELECT COUNT() FROM Account
Integer accountsAmount = SOQL.of(Account.SObjectType).count().toInteger();Now, you can simply write:
// SELECT COUNT() FROM Account
Integer accountsAmount = SOQL.of(Account.SObjectType).toInteger();