本文整理汇总了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;
}