public function getDataFromResource($data, $object = null, $params = [])
{
$list = [];
if (is_array($data) && count($data) > 0) {
foreach ($data as $element) {
$destination = null;
$source = Object::getById($element["src_id"]);
if ($element["type"] == "object") {
$destination = Object::getById($element["dest_id"]);
} elseif ($element["type"] == "asset") {
$destination = Asset::getById($element["dest_id"]);
} elseif ($element["type"] == "document") {
$destination = Document::getById($element["dest_id"]);
}
if ($destination instanceof Element\ElementInterface) {
$metaData = \Pimcore::getDiContainer()->make('Pimcore\\Model\\Object\\Data\\ElementMetadata', ["fieldname" => $this->getName(), "columns" => $this->getColumnKeys(), "element" => $destination]);
$ownertype = $element["ownertype"] ? $element["ownertype"] : "";
$ownername = $element["ownername"] ? $element["ownername"] : "";
$position = $element["position"] ? $element["position"] : "0";
$type = $element["type"];
$metaData->load($source, $destination, $this->getName(), $ownertype, $ownername, $position, $type);
$objects[] = $metaData;
$list[] = $metaData;
}
}
}
//must return array - otherwise this means data is not loaded
return $list;
}