SOQL и Apex - вывод SOQL из цикла for - PullRequest
0 голосов
/ 14 апреля 2019

У меня есть 2 объекта, скажем, объект 1 и объект 2. Сначала я перебираю коллекцию записей объекта 1.

Id Object2Id = 'Some Id';
for (Object1 obj1 : objectOneCollection ) {

    String query = 'SELECT Id FROM Object2 WHERE Id =:' + Object2Id  + ' AND ' + obj1.SOQLClause__c;

    List<Object2> list = Database.query(query);

    //do some processing with list

}

Надеюсь, мой код говорит сам за себя. Я знаю, что использование этого Database.query () внутри цикла for является плохой практикой. Другими словами, мы не должны делать SOQL внутри для циклов.

Можете ли вы помочь мне найти способ вывести этот Database.query () из цикла for, убедившись, что он по-прежнему соответствует моим требованиям?

Потому что в Object1 есть поле, содержащее строку для сопоставления в предложении where объекта 2.

...