本文整理匯總了PHP中Doctrine\ODM\MongoDB\MongoDBException::identifierCannotBeUpdated方法的典型用法代碼示例。如果您正苦於以下問題:PHP MongoDBException::identifierCannotBeUpdated方法的具體用法?PHP MongoDBException::identifierCannotBeUpdated怎麽用?PHP MongoDBException::identifierCannotBeUpdated使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Doctrine\ODM\MongoDB\MongoDBException
的用法示例。
在下文中一共展示了MongoDBException::identifierCannotBeUpdated方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: prepareUpdateData
/**
* Prepares update array for document, using atomic operators
*
* @param mixed $document
* @return array
*/
public function prepareUpdateData($document)
{
$oid = spl_object_hash($document);
$changeset = $this->_uow->getDocumentChangeSet($document);
$result = array();
foreach ($this->_class->fieldMappings as $mapping) {
if (isset($mapping['notSaved']) && $mapping['notSaved'] === true) {
continue;
}
$old = isset($changeset[$mapping['fieldName']][0]) ? $changeset[$mapping['fieldName']][0] : null;
$new = isset($changeset[$mapping['fieldName']][1]) ? $changeset[$mapping['fieldName']][1] : null;
$new = $this->_prepareValue($mapping, $new);
$old = $this->_prepareValue($mapping, $old);
if ($this->_class->isIdentifier($mapping['fieldName']) && !$this->_equals($new, $old)) {
throw MongoDBException::identifierCannotBeUpdated();
}
if ($mapping['type'] === 'many' || $mapping['type'] === 'collection') {
$this->_addArrayUpdateAtomicOperator($mapping, (array) $new, (array) $old, $result);
} else {
$this->_addFieldUpdateAtomicOperator($mapping, $new, $old, $result);
}
}
return $result;
}