本文整理汇总了PHP中Doctrine\ORM\UnitOfWork::getScheduledCollectionUpdates方法的典型用法代码示例。如果您正苦于以下问题:PHP UnitOfWork::getScheduledCollectionUpdates方法的具体用法?PHP UnitOfWork::getScheduledCollectionUpdates怎么用?PHP UnitOfWork::getScheduledCollectionUpdates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\ORM\UnitOfWork
的用法示例。
在下文中一共展示了UnitOfWork::getScheduledCollectionUpdates方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getChangedTrackedEntities
/**
* @return array|CustomerIdentityInterface[]
*/
protected function getChangedTrackedEntities()
{
$entities = array_merge($this->uow->getScheduledEntityInsertions(), $this->uow->getScheduledEntityDeletions(), $this->uow->getScheduledEntityUpdates());
$collections = array_merge($this->uow->getScheduledCollectionDeletions(), $this->uow->getScheduledCollectionUpdates());
/** @var PersistentCollection $collectionToChange */
foreach ($collections as $collectionToChange) {
$entities = array_merge($entities, $collectionToChange->unwrap()->toArray());
}
return array_filter($entities, function ($entity) {
return $entity instanceof CustomerIdentityInterface && array_key_exists(ClassUtils::getClass($entity), $this->customerIdentities);
});
}
示例2: getChangedOrders
/**
* @param UnitOfWork $uow
* @return array|Order[]
*/
protected function getChangedOrders(UnitOfWork $uow)
{
$entities = array_merge($uow->getScheduledEntityInsertions(), $uow->getScheduledEntityDeletions(), $uow->getScheduledEntityUpdates());
$collections = array_merge($uow->getScheduledCollectionDeletions(), $uow->getScheduledCollectionUpdates());
/** @var PersistentCollection $collectionToChange */
foreach ($collections as $collectionToChange) {
$entities = array_merge($entities, $collectionToChange->unwrap()->toArray());
}
return array_filter($entities, function ($entity) {
return $this->isOrderValid($entity);
});
}
示例3: collectUpdatesOwnerEntities
/**
* Collect updated activities owner entities
*
* @param UnitOfWork $uof
*/
protected function collectUpdatesOwnerEntities(UnitOfWork $uof)
{
$entities = $uof->getScheduledEntityUpdates();
foreach ($entities as $hash => $entity) {
if ($this->activityListManager->isSupportedOwnerEntity($entity) && empty($this->updatedOwnerEntities[$hash])) {
$this->updatedOwnerEntities[$hash] = $entity;
}
}
$updatedCollections = array_merge($uof->getScheduledCollectionUpdates(), $uof->getScheduledCollectionDeletions());
foreach ($updatedCollections as $hash => $collection) {
/** @var $collection PersistentCollection */
$ownerEntity = $collection->getOwner();
$entityHash = spl_object_hash($ownerEntity);
if ($this->activityListManager->isSupportedOwnerEntity($ownerEntity) && $this->doctrineHelper->getSingleEntityIdentifier($ownerEntity) !== null && empty($this->updatedOwnerEntities[$entityHash])) {
$this->updatedOwnerEntities[$entityHash] = $ownerEntity;
}
}
}