/** * @param MetaInformationInterface $meta * * @return null|\Solarium\QueryType\Update\Query\Document\Document */ public function createDocument(MetaInformationInterface $meta) { $fields = $meta->getFields(); if (count($fields) == 0) { return null; } $document = parent::createDocument($meta); foreach ($fields as $field) { if (!$field instanceof Field) { continue; } $document->addField($field->getNameWithAlias(), $field->getValue(), $field->getBoost()); } return $document; }
/** * @param MetaInformationInterface $meta * * @return null|\Solarium\QueryType\Update\Query\Document\Document */ public function createDocument(MetaInformationInterface $meta) { $fields = $meta->getFields(); if (count($fields) == 0) { return null; } $document = parent::createDocument($meta); foreach ($fields as $field) { if (!$field instanceof Field) { continue; } $value = $field->getValue(); if ($value instanceof Collection) { $document->addField($field->getNameWithAlias(), $this->mapCollection($field), $field->getBoost()); } elseif (is_object($value)) { $document->addField($field->getNameWithAlias(), $this->mapObject($field), $field->getBoost()); } else { $document->addField($field->getNameWithAlias(), $field->getValue(), $field->getBoost()); } } return $document; }
/** * @param MetaInformationInterface $metaInformation * * @return string */ protected function createFieldList(MetaInformationInterface $metaInformation) { return implode(', ', $metaInformation->getFields()); }