Nextras\Orm\Model\Model::remove PHP Method

remove() public method

public remove ( Nextras\Orm\Entity\IEntity $entity, $withCascade = true )
$entity Nextras\Orm\Entity\IEntity
    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;
    }