loadAllObjectFields() public static method

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 ( Concrete $object ) : void
$object Concrete
return void
コード例 #1
0
ファイル: Concrete.php プロジェクト: sfie/pimcore
 /**
  * load lazy loaded fields before cloning
  * @return void
  */
 public function __clone()
 {
     parent::__clone();
     Service::loadAllObjectFields($this);
 }
コード例 #2
0
ファイル: Service.php プロジェクト: pawansgi92/pimcore2
 /**
  * @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;
     }
 }
コード例 #3
0
 /**
  * @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;
 }