public function getById($id)
{
$data = $this->db->fetchRow("SELECT assets.*, tree_locks.locked FROM assets\n LEFT JOIN tree_locks ON assets.id = tree_locks.id AND tree_locks.type = 'asset'\n WHERE assets.id = ?", $id);
if ($data["id"] > 0) {
$this->assignVariablesToModel($data);
if ($data["hasMetaData"]) {
$metadataRaw = $this->db->fetchAll("SELECT * FROM assets_metadata WHERE cid = ?", [$data["id"]]);
$metadata = [];
foreach ($metadataRaw as $md) {
unset($md["cid"]);
$metadata[] = $md;
}
$this->model->setMetadata($metadata);
}
} else {
throw new \Exception("Asset with ID " . $id . " doesn't exists");
}
}