Elastica\Client::_populateDocumentFieldsFromResponse PHP Метод

_populateDocumentFieldsFromResponse() защищенный Метод

protected _populateDocumentFieldsFromResponse ( Response $response, Document $document, string $fields )
$response Response
$document Document
$fields string Array of field names to be populated or '_source' if whole document data should be updated
    protected function _populateDocumentFieldsFromResponse(Response $response, Document $document, $fields)
    {
        $responseData = $response->getData();
        if ('_source' == $fields) {
            if (isset($responseData['get']['_source']) && is_array($responseData['get']['_source'])) {
                $document->setData($responseData['get']['_source']);
            }
        } else {
            $keys = explode(',', $fields);
            $data = $document->getData();
            foreach ($keys as $key) {
                if (isset($responseData['get']['fields'][$key])) {
                    $data[$key] = $responseData['get']['fields'][$key];
                } elseif (isset($data[$key])) {
                    unset($data[$key]);
                }
            }
            $document->setData($data);
        }
    }