getCascadeQueue() public static method

See also: https://en.wikipedia.org/wiki/Topological_sorting#Depth-first_search
public static getCascadeQueue ( Nextras\Orm\Entity\IEntity $entity, Nextras\Orm\Model\IModel $model, boolean $withCascade ) : array
$entity Nextras\Orm\Entity\IEntity
$model Nextras\Orm\Model\IModel
$withCascade boolean
return array
Exemplo n.º 1
0
 /** @inheritdoc */
 public function persist(IEntity $entity, $withCascade = true)
 {
     $queue = PersistenceHelper::getCascadeQueue($entity, $this, $withCascade);
     foreach ($queue 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();
         }
     }
     return $entity;
 }