/** * @param MetaInformationInterface $meta * * @return Document */ public function toDocument(MetaInformationInterface $meta) { if ($this->mappingCommand instanceof AbstractDocumentCommand) { return $this->mappingCommand->createDocument($meta); } return null; }
/** * (non-PHPdoc) * @see FS\SolrBundle\Doctrine\Mapper\Mapping.AbstractDocumentCommand::createDocument() */ public function createDocument(MetaInformation $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; }