Пример #1
0
 public function remove(IEntity $entity, $withCascade = TRUE)
 {
     $queuePersist = $queueRemove = [];
     RemovalHelper::getCascadeQueueAndSetNulls($entity, $this, $withCascade, $queuePersist, $queueRemove);
     foreach ($queuePersist as $object) {
         if ($object instanceof IEntity) {
             $repository = $this->configuration[2][get_class($object)];
             $this->loader->getRepository($repository)->doPersist($object);
         } elseif ($object instanceof IRelationshipCollection) {
             $object->doPersist();
         }
     }
     foreach ($queueRemove as $object) {
         $repository = $this->configuration[2][get_class($object)];
         $this->loader->getRepository($repository)->doRemove($object);
     }
     return $entity;
 }