我有 2 个自定义对象约会_c和 TimeDrive_c。
约会有字段
- 开始日期__c
- 联系__c
TimeDrive__c 有
- 目标日期__c
- 联系__c
- 创建日期
这是我需要做的
我需要获取特定日期范围内的所有记录
select id, Target_date__c, Contact__c, Name, CreatedDate
from TimeDrive__c where Target_date__c >=:startdate and
Target_date__c <=:enddate
我需要遍历此列表中的每条记录,并检查此联系人是否有约会,其 startdate 介于 targetdate 和 createddate 之间
这是我到目前为止所做的一点
timeDriverLst = [select id, Target_date__c, Contact__c, Name, CreatedDate
from TimeDrive__c where Target_date__c >=:startdate and
Target_date__c <=:enddate ];
if(timeDriverLst.size() >0){
for(integer i =0; i < timeDriverLst.size(); i++)
{
mapTime.put(timeDriverLst[i].id, timeDriverLst[i]);
/* appLst = [Select Name, Contact__c from Appointment__c where (StartDate__c > = :timeDriverLst[i].CreatedDate
and StartDateTime__c <=:timeDriverLst[i].Target_date__c) and Contact__c = :timeDriverLst[i].Contact__c ];
*/
}
我知道我不应该在 for 循环中有 SOQL 查询。我怎样才能避免这种情况并达到要求。