You need to sign in to do that
Don't have an account?
Rajashri
Get the values from Subquery
Hi,
I am trying to add Status value for wrapper class.Can anyone please tell me how to fetch the status value from Subquery and add it to wrapper class.Below code is giving me Invalid relationship error for highlighted line
for(Lead ld : CampaignMembers) {
if ((ld.ActivityHistories.size() == 0) || ld.ActivityHistories.size() == null) {
lMemberWrappers.add(new MemberWrapper(ld.Phone, ld.getSObject('CampaignMembers').get('Status')));
}
[Select Id, Phone,(Select id, Status From CampaignMembers where CampaignId =:camp.Id ),
(Select Subject, Id,lastModifiedDate From ActivityHistories order by LastModifiedDate DESC LIMIT 1 )
From Lead where Id IN(select LeadId from campaignMember where campaignId =:camp.Id ) ];
I am trying to add Status value for wrapper class.Can anyone please tell me how to fetch the status value from Subquery and add it to wrapper class.Below code is giving me Invalid relationship error for highlighted line
for(Lead ld : CampaignMembers) {
if ((ld.ActivityHistories.size() == 0) || ld.ActivityHistories.size() == null) {
lMemberWrappers.add(new MemberWrapper(ld.Phone, ld.getSObject('CampaignMembers').get('Status')));
}
[Select Id, Phone,(Select id, Status From CampaignMembers where CampaignId =:camp.Id ),
(Select Subject, Id,lastModifiedDate From ActivityHistories order by LastModifiedDate DESC LIMIT 1 )
From Lead where Id IN(select LeadId from campaignMember where campaignId =:camp.Id ) ];
ld.CampaignMembers will return the list of CampaignMembers (List<CampaignMembers>).
you can try the below code to get the first record
String status = '';
if (!ld.CampaignMembers.isEmpty()) {
status = ld.CampaignMembers.get(0).Status;
}
lMemberWrappers.add(new MemberWrapper(ld.Phone, status));
Below is my for loop
for(Campaign c :[Select ID,(SELECT Id,CampaignId,Status FROM CampaignMembers where CampaignId =:camp.Id) FROM campaign WHERE id=:camp.Id ]){
for(Lead ld : CampaignMembers) {
if ((ld.ActivityHistories.size() == 0) || ld.ActivityHistories.size() == null) {
lMemberWrappers.add(new MemberWrapper(ld.Phone,ld.CampaignMembers.get(0).Status));
}}}
and SOQL Query is
CampaignMembers= [Select Id, Phone,(Select id, Status From CampaignMembers where CampaignId =:camp.Id ),
(Select Subject, Id,lastModifiedDate From ActivityHistories order by LastModifiedDate DESC LIMIT 1 )
From Lead where Id IN(select LeadId from campaignMember where campaignId =:camp.Id ) ];