salesforce - SOQL 和 Apex - 将 SOQL 排除在 for 循环之外
问题描述
我有 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
}
希望我的代码说明了一切。我知道在上面的 for 循环中使用这个 Database.query() 是一种不好的做法。换句话说,在 for 循环中包含 SOQL 是我们不应该做的事情。
你能帮我找到一种方法把这个 Database.query() 从 for 循环中取出,确保它仍然符合我的要求吗?
因为,Object1 中有一个字段,其中包含要在 object2 的 where 子句中匹配的字符串。
解决方案
推荐阅读
- java - 如何在 JPanel 打开后阻止用户使用它?
- python - 找不到页面 (404) 请求方法:GET
- python - 如何在 SqlMap 上转储特定数据?
- python-3.x - while 循环并以附加模式打开文件。为什么顺序很重要?
- javascript - 如何连接这两种形式以使输入在 React Native 中工作?
- entity-framework - 无法将 SQL 查询转换为 Entity Framework Core
- jestjs - 因为registerEnumType,不能开玩笑测试
- c# - 可能的 c# 编译器错误,其中未按预期调用静态构造函数
- python - 如何创建子函数,记住在父函数中创建的变量
- c - perf 报告简单程序的大量数字