本文整理匯總了PHP中Doctrine\ORM\ORMInvalidArgumentException::entityHasNoIdentity方法的典型用法代碼示例。如果您正苦於以下問題:PHP ORMInvalidArgumentException::entityHasNoIdentity方法的具體用法?PHP ORMInvalidArgumentException::entityHasNoIdentity怎麽用?PHP ORMInvalidArgumentException::entityHasNoIdentity使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Doctrine\ORM\ORMInvalidArgumentException
的用法示例。
在下文中一共展示了ORMInvalidArgumentException::entityHasNoIdentity方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: removeFromIdentityMap
/**
* INTERNAL:
* Removes an entity from the identity map. This effectively detaches the
* entity from the persistence management of Doctrine.
*
* @ignore
*
* @param object $entity
*
* @return boolean
*
* @throws ORMInvalidArgumentException
*/
public function removeFromIdentityMap($entity)
{
$oid = spl_object_hash($entity);
$classMetadata = $this->em->getClassMetadata(get_class($entity));
$idHash = implode(' ', $this->entityIdentifiers[$oid]);
if ($idHash === '') {
throw ORMInvalidArgumentException::entityHasNoIdentity($entity, "remove from identity map");
}
$className = $classMetadata->rootEntityName;
if (isset($this->identityMap[$className][$idHash])) {
unset($this->identityMap[$className][$idHash]);
unset($this->readOnlyObjects[$oid]);
//$this->entityStates[$oid] = self::STATE_DETACHED;
return true;
}
return false;
}
示例2: scheduleForUpdate
/**
* Schedules an entity for being updated.
*
* @param object $entity The entity to schedule for being updated.
*
* @return void
*
* @throws ORMInvalidArgumentException
*/
public function scheduleForUpdate($entity)
{
$oid = spl_object_hash($entity);
if (!isset($this->entityIdentifiers[$oid])) {
throw ORMInvalidArgumentException::entityHasNoIdentity($entity, "scheduling for update");
}
if (isset($this->entityDeletions[$oid])) {
throw ORMInvalidArgumentException::entityIsRemoved($entity, "schedule for update");
}
if (!isset($this->entityUpdates[$oid]) && !isset($this->entityInsertions[$oid])) {
$this->entityUpdates[$oid] = $entity;
}
}