Neos\Flow\Persistence\Generic\PersistenceManager::remove PHP Method

remove() public method

Removes an object to the persistence.
public remove ( object $object ) : void
$object object The object to remove
return void
    public function remove($object)
    {
        $this->hasUnpersistedChanges = true;
        if ($this->addedObjects->contains($object)) {
            $this->addedObjects->detach($object);
        } else {
            $this->removedObjects->attach($object);
        }
    }

Usage Example

 /**
  * Make sure we remember the objects that are not currently add()ed
  * but might be in persistent storage.
  *
  * @test
  */
 public function removeRetainsObjectForObjectsNotInCurrentSession()
 {
     $object = new \ArrayObject(['val' => '1']);
     $persistenceManager = new Generic\PersistenceManager();
     $persistenceManager->remove($object);
     $this->assertAttributeContains($object, 'removedObjects', $persistenceManager);
 }