You need to sign in to do that
Don't have an account?
sites1.3909952495827087E12
Iam trying to update on user how many accounts user owned. Have written batch class Select id,Total_Accounts__c, (Select id,Parent.id From Accounts__r) From User u but accounts are returned 0 , can any one suggest wats wrong in this query
global class BatchAccountUserCount implements Database.Batchable<SObject>, Database.Stateful{
global Database.queryLocator start(Database.BatchableContext ctx){
return Database.getQueryLocator([Select id,Total_Accounts__c, (Select id,Parent.id From Accounts__r) From User u where id=:userinfo.getuserid()]);
}
global void execute(Database.BatchableContext ctx, List<Sobject> scope){
List<User> userList = (List<User>)scope;
System.debug('@@@@@userList@@@@@@@@'+userList.size());
for(Integer i = 0; i < userList.size(); i++){
List<Account> accList = userList[i].Accounts__r;
System.debug('@@@@@accList@@@@@@@@'+accList.size());
userList[i].Total_Accounts__c = accList.size();
}
// ProcessorControl.inFutureContext = true;
//List<Database.SaveResult> dsrs = Database.update(userList, false);
update userList;
}
global void finish(Database.BatchableContext ctx){
}
}
global Database.queryLocator start(Database.BatchableContext ctx){
return Database.getQueryLocator([Select id,Total_Accounts__c, (Select id,Parent.id From Accounts__r) From User u where id=:userinfo.getuserid()]);
}
global void execute(Database.BatchableContext ctx, List<Sobject> scope){
List<User> userList = (List<User>)scope;
System.debug('@@@@@userList@@@@@@@@'+userList.size());
for(Integer i = 0; i < userList.size(); i++){
List<Account> accList = userList[i].Accounts__r;
System.debug('@@@@@accList@@@@@@@@'+accList.size());
userList[i].Total_Accounts__c = accList.size();
}
// ProcessorControl.inFutureContext = true;
//List<Database.SaveResult> dsrs = Database.update(userList, false);
update userList;
}
global void finish(Database.BatchableContext ctx){
}
}
If you wish to use relationships in SOQL you should be using the following format to access Fields in the child object:
E.g.
SELECT Widget__c.Name, (SELECT Model__c.Name FROM Widget__c.Models__r) FROM Widget__c
Where Model is a child of Widget.