call the getters of each object field, in case some of the are lazy loading and we need the data to be loaded
public static loadAllObjectFields ( |
||
$object | ||
Résultat | void |
/** * load lazy loaded fields before cloning * @return void */ public function __clone() { parent::__clone(); Service::loadAllObjectFields($this); }
/** * @param $id * @throws \Exception */ public function getObjectConcreteById($id) { try { $object = Object::getById($id); if ($object instanceof Object\Concrete) { // load all data (eg. lazy loaded fields like multihref, object, ...) Object\Service::loadAllObjectFields($object); $apiObject = Webservice\Data\Mapper::map($object, "\\Pimcore\\Model\\Webservice\\Data\\Object\\Concrete\\Out", "out"); return $apiObject; } throw new \Exception("Object with given ID (" . $id . ") does not exist."); } catch (\Exception $e) { \Logger::error($e); throw $e; } }
/** * @static * @param ElementInterface $element * @return ElementInterface */ public static function loadAllFields(ElementInterface $element) { if ($element instanceof Document) { Document\Service::loadAllDocumentFields($element); } else { if ($element instanceof Object\Concrete) { Object\Service::loadAllObjectFields($element); } else { if ($element instanceof Asset) { Asset\Service::loadAllFields($element); } } } return $element; }