You need to sign in to do that
Don't have an account?

expecting right curly bracket, found 'for'
Hi,
I am new to Apex..I am trying to write the below controller code but i am getting an error that..expecting right curly bracket, found 'for'
Can anyone please help?
public with sharing class CampaignMemController {
public Campaign camp {get; set; }
list<contact> con = new list<contact>();
public CampaignMemController(ApexPages.StandardController controller) {
camp = (Campaign)controller.getRecord();
}
for(contact con:[select name,id,(select id from CampaignMembers) from contact]){
List<CampaignMember > camList = New List<CampaignMember>();
for(CampaignMember camp: con.CampaignMembers){
camList.add(camp);
}
System.debug('All the campaignmemebers under contact '+con.name+'are'+camList );
}
}
I am new to Apex..I am trying to write the below controller code but i am getting an error that..expecting right curly bracket, found 'for'
Can anyone please help?
public with sharing class CampaignMemController {
public Campaign camp {get; set; }
list<contact> con = new list<contact>();
public CampaignMemController(ApexPages.StandardController controller) {
camp = (Campaign)controller.getRecord();
}
for(contact con:[select name,id,(select id from CampaignMembers) from contact]){
List<CampaignMember > camList = New List<CampaignMember>();
for(CampaignMember camp: con.CampaignMembers){
camList.add(camp);
}
System.debug('All the campaignmemebers under contact '+con.name+'are'+camList );
}
}
public with sharing class CampaignMemController {
public Campaign camp {get; set; }
list<contact> con = new list<contact>();
public CampaignMemController(ApexPages.StandardController controller) {
camp = (Campaign)controller.getRecord();
for(contact con:[select name,id,(select id from CampaignMembers) from contact]){
List<CampaignMember > camList = New List<CampaignMember>();
for(CampaignMember camp: con.CampaignMembers){
camList.add(camp);
}
System.debug('All the campaignmemebers under contact '+con.name+'are'+camList );
}
}
}
Try This:
public with sharing class CampaignMemController {
public Campaign camp {get; set; }
list<contact> con = new list<contact>();
public CampaignMemController(ApexPages.StandardController controller) {
camp = (Campaign)controller.getRecord()
for(contact con:[select name,id,(select id from CampaignMembers) from contact]){
List<CampaignMember > camList = New List<CampaignMember>();
for(CampaignMember camp: con.CampaignMembers){
camList.add(camp);
}
System.debug('All the campaignmemebers under contact '+con.name+'are'+camList );
}
}
}
Thanks,
Pratik
CampaignMemController Compile Error: Loop variable must be an SObject or list of CampaignMember at line 11..
Line 11 is my for loop line!
Any help
try this
no error now.code credit goes to Pratik
I tried the above code but still i am getting below error..
Loop variable must be an SObject or list of CampaignMember at line 12 olumn 25
Thanks..
In below line
for(CampaignMember camp: con.CampaignMembers)
con.campainmembers should be list.
Basically i want to display the Contact having relationship with the Campaign member..
How to change the loop there?
The relationship is:
A contact can be added as a Campaignmember on many campaigns.
So for a single Contact there can be multiple Campaignmembers.
Thanks,
Pratik
Map <String,list<CampaignMembers>> contactCampaignMemberMap = new Map <String,list<CampaignMembers>>();
for(CampaignMembers mem:[select id,contact from CampaignMembers]{
if(contactCampaignMemberMap.containskey(mem.contact))
contactCampaignMemberMap.put(mem.contact,new List<campaignmembers>());
contactCampaignMemberMap.get(mem.contact).add(mem);
}