You need to sign in to do that
Don't have an account?
venkatasubhashk
How to update a field in Apex from a Relationship Query
I have a Query like this ...
for(opportunity opp1 :opp){
ProcessInstance p= [SELECT Id, (SELECT Id, StepStatus,Comments FROM Steps)FROM ProcessInstance WHERE Status='Approved' and TargetObjectId=:opp1.id limit 1];
opp1.comments = p.comments;
//This is not working
i want to get the comments from the Query to custom field
}
any ideas please!!
It should be
opp1.comments = p.Steps__r[0].comments;
Steps__r is the relationship name, this could be different depending on what you've set it to
And ideally, that SOQL Query should not be inside the FOR loop. Aggregate criteria inside the for loop and query once aggregated. just best practice.
Have you tried this ???
p.steps[0].comments instead of p.comments
(SELECT Id, StepStatus,Comments FROM Steps) will return you the list of all steps related. You can fetch them by there index.
Thank you..
I used This
ProcessInstance p= [SELECT Id,Status FROM ProcessInstance WHERE Status='Approved' and TargetObjectId=:opp1.id limit 1];
ProcessInstancestep sp =[select id,comments from ProcessInstancestep where ProcessInstanceid =:p.id limit 1];