/** * @return ArrayCollection|Offering[] */ public function getInstructedOfferings() { //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->instructedOfferings->matching($criteria)->getValues()); $arr = $this->instructedOfferings->filter(function ($entity) { return !$entity->isDeleted(); })->toArray(); $reIndexed = array_values($arr); return new ArrayCollection($reIndexed); }