Pimcore\Model\Object\ClassDefinition\Data\Localizedfields::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 ($value instanceof Object\Localizedfield) {
            $items = $value->getItems();
            if (is_array($items)) {
                $result = [];
                foreach ($items as $language => $languageData) {
                    $languageResult = [];
                    foreach ($languageData as $elementName => $elementData) {
                        $fd = $this->getFielddefinition($elementName);
                        if (!$fd) {
                            // class definition seems to have changed
                            Logger::warn("class definition seems to have changed, element name: " . $elementName);
                            continue;
                        }
                        $dataForResource = $fd->marshal($elementData, $object, ["raw" => true]);
                        $languageResult[$elementName] = $dataForResource;
                    }
                    $result[$language] = $languageResult;
                }
                return $result;
            }
        }
        return null;
    }