Pimcore\Model\Object\ClassDefinition\Data\MultihrefMetadata::marshal PHP Method

marshal() public method

Encode value for packing it into a single column.
public marshal ( mixed $value, AbstractObject $object = null, mixed $params = [] ) : mixed
$value mixed
$object Pimcore\Model\Object\AbstractObject
$params mixed
return mixed
    public function marshal($value, $object = null, $params = [])
    {
        if (is_array($value)) {
            $result = [];
            /** @var  $elementMetadata Object\Data\ElementMetadata */
            foreach ($value as $elementMetadata) {
                $element = $elementMetadata->getElement();
                $type = Element\Service::getType($element);
                $id = $element->getId();
                $result[] = ["element" => ["type" => $type, "id" => $id], "fieldname" => $elementMetadata->getFieldname(), "columns" => $elementMetadata->getColumns(), "data" => $elementMetadata->data];
            }
            return $result;
        }
        return null;
    }