| @@ 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 | } |
|
| @@ 418-429 (lines=12) @@ | ||
| 415 | ||
| 416 | $response = $this->request($path, Request::POST, $requestData, $options); |
|
| 417 | ||
| 418 | if ($response->isOk() |
|
| 419 | && $data instanceof Document |
|
| 420 | && ($data->isAutoPopulate() || $this->getConfigValue(['document', 'autoPopulate'], false)) |
|
| 421 | ) { |
|
| 422 | $responseData = $response->getData(); |
|
| 423 | if (isset($responseData['_version'])) { |
|
| 424 | $data->setVersion($responseData['_version']); |
|
| 425 | } |
|
| 426 | if (isset($options['fields'])) { |
|
| 427 | $this->_populateDocumentFieldsFromResponse($response, $data, $options['fields']); |
|
| 428 | } |
|
| 429 | } |
|
| 430 | ||
| 431 | return $response; |
|
| 432 | } |
|