Trying to perform a SOQL query to retrieve related FeedItems
and FeedComments
(on the related FeedItems) to my sObject and I retrieved a warning that multi-level queries aren't allowed.
Can anyone think of an optimization that will reduce the risk of overflowing script statements and allow me to retrieve related FeedItems
and the FeedComments
related to those items
List<myObject> sObjectsWithComments = [SELECT Id (SELECT Id,Body,ParentId, (SELECT
Id, CommentBody, FeedItemId FROM FeedComments) FROM
Feeds) FROM myObject];
If this isn't achievable it's still possible to manually selected the FeedComment
and create a map, and do a manually association, but I really think this is something the database should be responsible for.
Update
I guess I should also mention some of the difficult requirements:
- List item: In any given instance the page I'm working with may have over 100 object records
- I need count the number of
FeedItems
andFeedComments
that have been created by another user since aLastVisit__c
field on the parent object. Hence the issue with looping
So I have a goal of something more akin too (psuedo-code):
List<myObject> sObjectsWithComments = [SELECT Id,LastVisit__c (SELECT Id,Body,ParentId, (SELECT
Id, CommentBody, FeedItemId, CreatedDate FROM FeedComments WHERE CreatedDate > Parent.LastVisit__c) FROM
Feeds WHERE CreatedDate > Parent.LastVisit__c) FROM myObject];
Attribution to: jordan.baucke
Possible Suggestion/Solution #1
Separate the feed from the object to avoid a nested query.
List<FeedItem> feedWithComments = [SELECT Id,Body,ParentId, (SELECT
Id, CommentBody, FeedItemId FROM FeedComments) FROM
FeedItem WHERE ParentId IN (SELECT Id FROM
myObject WHERE Field = 'value')];
Attribution to: Scott VonSchilling
This content is remixed from stackoverflow or stackexchange. Please visit https://salesforce.stackexchange.com/questions/4