public function getRelationData($field, $forOwner, $remoteClassId)
{
$id = $this->model->getId();
if ($remoteClassId) {
$classId = $remoteClassId;
} else {
$classId = $this->model->getClassId();
}
$params = [$field, $id, $field, $id, $field, $id];
$dest = "dest_id";
$src = "src_id";
if (!$forOwner) {
$dest = "src_id";
$src = "dest_id";
}
$relations = $this->db->fetchAll("SELECT r." . $dest . " as dest_id, r." . $dest . " as id, r.type, o.o_className as subtype, concat(o.o_path ,o.o_key) as path , r.index\n FROM objects o, object_relations_" . $classId . " r\n WHERE r.fieldname= ?\n AND r.ownertype = 'object'\n AND r." . $src . " = ?\n AND o.o_id = r." . $dest . "\n AND r.type='object'\n\n UNION SELECT r." . $dest . " as dest_id, r." . $dest . " as id, r.type, a.type as subtype, concat(a.path,a.filename) as path, r.index\n FROM assets a, object_relations_" . $classId . " r\n WHERE r.fieldname= ?\n AND r.ownertype = 'object'\n AND r." . $src . " = ?\n AND a.id = r." . $dest . "\n AND r.type='asset'\n\n UNION SELECT r." . $dest . " as dest_id, r." . $dest . " as id, r.type, d.type as subtype, concat(d.path,d.key) as path, r.index\n FROM documents d, object_relations_" . $classId . " r\n WHERE r.fieldname= ?\n AND r.ownertype = 'object'\n AND r." . $src . " = ?\n AND d.id = r." . $dest . "\n AND r.type='document'\n\n ORDER BY `index` ASC", $params);
if (is_array($relations) and count($relations) > 0) {
return $relations;
} else {
return [];
}
}