@@ 389-401 (lines=13) @@ | ||
386 | $opType = key($item); |
|
387 | $bulkResponseData = reset($item); |
|
388 | ||
389 | if ($action instanceof AbstractDocumentAction) { |
|
390 | $data = $action->getData(); |
|
391 | if ($data instanceof Document && $data->isAutoPopulate() |
|
392 | || $this->_client->getConfigValue(['document', 'autoPopulate'], false) |
|
393 | ) { |
|
394 | if (!$data->hasId() && isset($bulkResponseData['_id'])) { |
|
395 | $data->setId($bulkResponseData['_id']); |
|
396 | } |
|
397 | if (isset($bulkResponseData['_version'])) { |
|
398 | $data->setVersion($bulkResponseData['_version']); |
|
399 | } |
|
400 | } |
|
401 | } |
|
402 | ||
403 | $bulkResponses[] = new BulkResponse($bulkResponseData, $action, $opType); |
|
404 | } |
@@ 420-431 (lines=12) @@ | ||
417 | ||
418 | $response = $this->request($path, Request::POST, $requestData, $options); |
|
419 | ||
420 | if ($response->isOk() |
|
421 | && $data instanceof Document |
|
422 | && ($data->isAutoPopulate() || $this->getConfigValue(['document', 'autoPopulate'], false)) |
|
423 | ) { |
|
424 | $responseData = $response->getData(); |
|
425 | if (isset($responseData['_version'])) { |
|
426 | $data->setVersion($responseData['_version']); |
|
427 | } |
|
428 | if (isset($options['fields'])) { |
|
429 | $this->_populateDocumentFieldsFromResponse($response, $data, $options['fields']); |
|
430 | } |
|
431 | } |
|
432 | ||
433 | return $response; |
|
434 | } |