public function testObjeto() { $campos = array('a' => array('_compuesto' => array('id' => array('_mapeo' => "a"), 'nombre' => array('_mapeo' => "n"))), 'b'); $datos = array('a' => 10, 'n' => 'xx', 'b' => 2, 'z' => 4); $obj = rest_hidratador::hidratar_fila($campos, $datos); // ( // [a] => 10 // [b] => 2 // ) $this->assertEquals(2, count($obj)); $this->assertEquals(2, $obj['b']); $this->assertEquals(10, $obj['a']['id']); $this->assertEquals('xx', $obj['a']['nombre']); }
/** * Se consume en GET /personas/{id} * @summary Retorna datos de una persona. * @param_query $con_imagen integer Retornar además la imagen de la persona, por defecto 0 * @responses 200 {"$ref": "Persona"} Persona * @responses 400 No existe la persona */ function get($id_persona) { //toba::logger()->debug("Usuario: " . rest::app()->usuario->get_usuario()); /**Obtengo los datos del modelo*/ $incluir_imagen = (bool) rest::request()->get('con_imagen', 0); $modelo = new modelo_persona($id_persona); $fila = $modelo->get_datos($incluir_imagen); if ($fila) { /**Transformción al formato de la vista de la API - * Si faltan campos se generarán 'undefined_index'. Si sobran, no se incluyen. * La fila contiene exactamente los campos de la especificación */ $fila = rest_hidratador::hidratar_fila($this->get_spec_persona($incluir_imagen), $fila); } /**Se escribe la respuesta*/ rest::response()->get($fila); }