當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Document::setUpsert方法代碼示例

本文整理匯總了PHP中Elastica\Document::setUpsert方法的典型用法代碼示例。如果您正苦於以下問題:PHP Document::setUpsert方法的具體用法?PHP Document::setUpsert怎麽用?PHP Document::setUpsert使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Elastica\Document的用法示例。


在下文中一共展示了Document::setUpsert方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testUpdateDocumentByDocumentWithUpsert

 /**
  * @group functional
  */
 public function testUpdateDocumentByDocumentWithUpsert()
 {
     $index = $this->_createIndex();
     $type = $index->getType('test');
     $client = $index->getClient();
     $newDocument = new Document(1, array('field1' => 'value1updated', 'field2' => 'value2updated'));
     $upsert = new Document(1, array('field1' => 'value1', 'field2' => 'value2'));
     $newDocument->setUpsert($upsert);
     $client->updateDocument(1, $newDocument, $index->getName(), $type->getName(), array('fields' => '_source'));
     $document = $type->getDocument(1);
     $this->assertInstanceOf('Elastica\\Document', $document);
     $data = $document->getData();
     $this->assertArrayHasKey('field1', $data);
     $this->assertEquals('value1', $data['field1']);
     $this->assertArrayHasKey('field2', $data);
     $this->assertEquals('value2', $data['field2']);
     // should use update document because document exists, upsert document values are ignored
     $client->updateDocument(1, $newDocument, $index->getName(), $type->getName(), array('fields' => '_source'));
     $document = $type->getDocument(1);
     $this->assertInstanceOf('Elastica\\Document', $document);
     $data = $document->getData();
     $this->assertArrayHasKey('field1', $data);
     $this->assertEquals('value1updated', $data['field1']);
     $this->assertArrayHasKey('field2', $data);
     $this->assertEquals('value2updated', $data['field2']);
 }
開發者ID:bungkoko,項目名稱:Elastica,代碼行數:29,代碼來源:ClientTest.php

示例2: testUpsert

 /**
  * @group unit
  */
 public function testUpsert()
 {
     $document = new Document();
     $upsert = new Document();
     $upsert->setData(array('someproperty' => 'somevalue'));
     $this->assertFalse($document->hasUpsert());
     $document->setUpsert($upsert);
     $this->assertTrue($document->hasUpsert());
     $this->assertSame($upsert, $document->getUpsert());
 }
開發者ID:MediaWiki-stable,項目名稱:1.26.1,代碼行數:13,代碼來源:DocumentTest.php


注:本文中的Elastica\Document::setUpsert方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。