/** * @return ArrayCollection|ReportInterface[] */ public function getReports() { //criteria not 100% reliable on many to many relationships //fix in https://github.com/doctrine/doctrine2/pull/1399 // $criteria = Criteria::create()->where(Criteria::expr()->eq("deleted", false)); // return new ArrayCollection($this->reports->matching($criteria)->getValues()); $arr = $this->reports->filter(function (ReportInterface $entity) { return !$entity->isDeleted(); })->toArray(); $reIndexed = array_values($arr); return new ArrayCollection($reIndexed); }