本文整理匯總了PHP中Doctrine\ODM\PHPCR\DocumentManager::checkpoint方法的典型用法代碼示例。如果您正苦於以下問題:PHP DocumentManager::checkpoint方法的具體用法?PHP DocumentManager::checkpoint怎麽用?PHP DocumentManager::checkpoint使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Doctrine\ODM\PHPCR\DocumentManager
的用法示例。
在下文中一共展示了DocumentManager::checkpoint方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testUnversionedChildrenOnParentVersion
/**
* Try to access the children of a specific version of a document and assert they
* are hydrated properly
*/
public function testUnversionedChildrenOnParentVersion()
{
$versionableArticle = new FullVersionableArticleWithChildren();
$versionableArticle->author = 'mellowplace';
$versionableArticle->topic = 'children test';
$versionableArticle->id = '/functional/children-test';
$versionableArticle->setText('Parent article text');
$this->dm->persist($versionableArticle);
$childArticle = new NonVersionableArticle();
$childArticle->setText("This is the child");
$childArticle->id = '/functional/children-test/child';
$childArticle->author = 'mellowplace';
$childArticle->topic = 'children test - child';
$versionableArticle->addChildArticle($childArticle);
// checkin the first version (1.0)
$this->dm->flush();
$this->dm->checkpoint($versionableArticle);
// now modify the child nodes text and checkin the second version (1.1)
$childArticle->setText('modified text');
$this->dm->flush();
$this->dm->checkpoint($versionableArticle);
$firstVersion = $this->dm->findVersionByName('Doctrine\\Tests\\Models\\Versioning\\FullVersionableArticleWithChildren', $versionableArticle->id, '1.0');
$secondVersion = $this->dm->findVersionByName('Doctrine\\Tests\\Models\\Versioning\\FullVersionableArticleWithChildren', $versionableArticle->id, '1.1');
$this->assertEquals('This is the child', $firstVersion->childArticles->first()->getText(), 'The expected child article text is correct');
$this->assertEquals('modified text', $secondVersion->childArticles->first()->getText(), 'The expected, modified, child article text is correct');
}
示例2: testRemoveVersion
public function testRemoveVersion()
{
$doc = $this->dm->find($this->typeVersion, '/functional/versionTestObj');
$this->dm->checkpoint($doc);
$linearVersionHistory = $this->dm->getAllLinearVersions($doc);
$lastVersion = end($linearVersionHistory);
$lastVersionName = $lastVersion['name'];
// Create a new version so that we are not trying to remove the last version
$this->dm->checkpoint($doc);
// Remove the version
$version = $this->dm->findVersionByName($this->typeVersion, '/functional/versionTestObj', $lastVersionName);
$removedVersionPath = $version->id;
$this->dm->removeVersion($version);
// Check it's not in the history anymore
$this->assertFalse($this->dm->getPhpcrSession()->nodeExists(PathHelper::getParentPath($removedVersionPath)));
return $lastVersionName;
}