私は 2 つのカスタム オブジェクトの予定_ c と TimeDrive _c を持っています。
予定にはフィールドがあります
- 開始日__c
- お問い合わせ__c
TimeDrive__c は
- Target_date__c
- お問い合わせ__c
- 作成日
これが私がしなければならないことです
特定の日付範囲ですべてのレコードを取得する必要があります
select id, Target_date__c, Contact__c, Name, CreatedDate
from TimeDrive__c where Target_date__c >=:startdate and
Target_date__c <=:enddate
このリストの各レコードをループして、開始日が 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 クエリを含めるべきではないことはわかっています。これを回避して要件を達成するにはどうすればよいですか。