Idea number 1
You can use Inheritance mapping : http://doctrine-orm.readthedocs.org/en/latest/reference/inheritance-mapping.html
The idea is to have separate classes for each type (approved and not approved), but store everything in one table ( SINGLE_TABLE inheritance).
You will need an additional column in which the discriminator of the class type will be stored.
Then you will have:
protected $approvedComments; protected $nonApprovedComments;
The obvious drawback is the creation of additional classes.
Idea number 2
You can simply configure you Query / QueryBuilder as:
`SELECT p, c FROM AcmeDemoBundle:Post p LEFT JOIN p.comments c WITH c.approved = FALSE`
This idea seems more reasonable.
source share