use Stel\Repository\TipoTramiteRepository;
use Stel\Repository\InstanciaRepository;
use Stel\Repository\RelTipoTramiteInstanciaRepository;
use Stel\Model\TipoTramite;
use Stel\Model\Instancia;
use Stel\Model\RelTipoTramiteInstancia;
$repo = new InstanciaRepository();
$instancias = array();
if (isset($_GET['tipotramite'])) {
    $idTipoTramite = (int) $_GET['tipotramite'];
    $repoRel = new RelTipoTramiteInstanciaRepository();
    $relTipoInstancia = $repoRel->getByTipoTramite($idTipoTramite);
    //var_dump($relTipoInstancia);die;
    $instancias = array();
    if ($relTipoInstancia) {
        foreach ($relTipoInstancia as $rel) {
            $instancias[] = $repo->getOne($rel->getIdInstancia());
        }
    } else {
        Controller::renderJson("ERROR");
    }
} else {
    $instancias = $repo->getAll();
}
if (isset($_GET['forSelect'])) {
    $instancias = array_map(function ($element) {
        return array("value" => $element->getIdInstancia(), "text" => $element->getNombre());
    }, $instancias);
}
Controller::renderJson("OK", $instancias);
<?php

use Stel\Model\Instancia;
use Stel\Repository\InstanciaRepository;
try {
    $action = $_GET["action"];
    $data = json_decode($_POST["object"]);
    $repo = new InstanciaRepository();
    switch ($action) {
        case "new":
            $instancia = new Instancia();
            $instancia->setNombre($data->nombre);
            $instancia->setIdInstancia($repo->insert($instancia));
            Controller::renderJson("OK", $instancia);
            break;
        case "edit":
            $instancia = $repo->getOne($data->idInstancia);
            $instancia->setNombre($data->nombre);
            $repo->update($instancia);
            Controller::renderJson("OK", $instancia);
            break;
        case "delete":
            Controller::renderJson("ERROR", "", "No implementado");
            break;
    }
} catch (Exception $e) {
    Controller::renderJson("ERROR", "", $e->getMessage());
}