CRUD desde JS Javascript ( inserta borra lista listaExpandida orden limite expandida modifica insertar borrar listar modificar crear guardar...)
Cuando llamamos a API, podemos hacer un carga según distintos campos, no únicamente por ID
"api":{
"carga_idvariable":6, //se utiliza el prefijo carga_ delante de la variable que sea
"carga_idcentro":5, //otro ejemplo. En este caso la combinacion de ambas es única
"api":"VariablesCentros.insertaVariable",
"error": true, //si es false, en vez de abrirse una alerta en caso de error automáticamente, gestionamos el error manualmente
"parametros":{
"variable": "telefono_fax"
}
},
//Lista Expandida
api( {"api":"PersonalMensajes.listaExpandida",
"var1": "PersonalMensajes.mensaje, Usuario.nombre,Usuario.apellidos", //las cosas que queremos van siempre en var1
"limite": this.quontrol.data("numeroLineas")*1, //opcionalmente lo de siempre: limite, orden, etc..
"orden": "fecha DESC",
},function(json){
if(!json.error){
//iterar la lista o lo que sea
}
});
//Se pueden hacer listados desde JS
api({
"api": "DocenteAlumnos.lista",
"where": "dni like '%"+dniAlumno+"%'"
},function(json){
console.log(json.resultado);
});
//Cargar
api( {"api":"PersonalArticulos.carga",
"var1": id //Si estamos llamando a una función que trabaja con objeto cargado, podemos utilizar el parámetro "carga_id": loquesea
},function(json){
if(!json.error){
var obj = json.resultado;
}
});
//Borrar
api( {"api":"PersonalReconocimiento.borra",
"carga_id": id
},function(json){
//eliminado
});
//insertar
api( {"api":"PersonalReconocimiento.inserta",
//"var_idusuario_emisor": usuarioEmisor, //se los pasamos por PHP en el Override de Inserta por seguridad
//"var_fecha": convertirFechaSQL( new Date(), true), //se lo pasamos por PHP Override
"var_reconocimiento": valor
},function(json){
var idInsercion = json.resultado.id;
var error = json.error;
//insertado
});
//insertar 2
api( {"api":"PersonalReconocimiento.inserta",
//"var_idusuario_emisor": usuarioEmisor, //se los pasamos por PHP en el Override de Inserta por seguridad. Mas info debajo
"var_idusuario_receptor": usuarioReceptor, //pasamos las columnas precedidas de de var_
"var_reconocimiento": valor
},function(json){
var id_insercion = json.resultado.id;
contenedor.data("id", id_insercion);
});
/** Override del Iserta en PHP
<? if (!$parametros['fecha'])
{
$parametros['fecha'] = 'now()';
}
if(!$parametros['idusuario_emisor']){
$parametros["idusuario_emisor"] = $this->quid->idusuario();
}
$res = $this->_inserta($parametros);
return $res;
*/
//Insertar polimorficas, no se les pasa clase e idregistro:
api(
/* Equivalente a
{" api":"EncuestaSatisfaccion.inserta",
"var_clase": "ClasePolimorfica",
"var_idregistro": idregistroX,
"var_parametrocualquiera": 2
}
*/
{
"api": "ClasePolimorfica.EncuestaSatisfaccion.inserta",
"where": "ClasePolimorfica.id=" + quontrol.data("_idregistro"), //pasado desde PHP a JS
"var_parametroqualquiera": quontrol.data("aula")
},
function(json) {
var id_insercion = json.resultado.id;
//insertado
});
//al parecer hay modificaDato en singular y modificaDatos en plural. No se bien la diferencia,
//pero me ha gustado más el plural
api( {"api":"PersonalLogrosUsuarios.modificaDatos",
"carga_id": this.quontrol.data("id_logroUsuario"),
"var_conseguido": 0
},apiCallback);
//Modificar guardar (modificadato)
api({"api":"WebDiapositivas.modificaDato","carga_id": quontrol.data("q_carga_id"),
"var1":"plantilla",
"var2": plantilla},
function(json){
console.log("callback");
}
);
$this->modificaDato('nombre_campo',69); //siendo 69 el valor
//creo que también existe la opcion modificaDatos en plural, para cambiar varios
//campos a la vez, no se si funciona con _ ya lo comprobaré algún día