/** * @param DepartmentInterface $department */ public function removeDepartment(DepartmentInterface $department) { $this->departments->removeElement($department); }
/** * @param DepartmentInterface $department */ public function addDepartment(DepartmentInterface $department) { $this->departments->add($department); }
/** * @return ArrayCollection|DepartmentInterface[] */ public function getDepartments() { //criteria not 100% reliale 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->departments->matching($criteria)->getValues()); $arr = $this->departments->filter(function ($entity) { return !$entity->isDeleted(); })->toArray(); $reIndexed = array_values($arr); return new ArrayCollection($reIndexed); }