Tengo un cuadro que lo lleno con un dt que me generó el asistente, para eso hago la consulta con el dt ($datos = $this->dep('datos')->tabla('nombre_tabla')->get_listado()
) y después recorro un foreach donde cargo cada registro con $this->dep('datos')->tabla('nombre_tabla')->cargar($array)
, el problema es que cuando quiero agregar un nuevo registro me trae el último registro de la base de datos por lo que lo cargué en el foreach, ¿cómo puedo hacer para quitarlo de la memoria?
Matias,
cual es el motivo para hacer esto?.. el metodo get_listado() puede devolverte efectivamente todos los datos que necesitas mostrar en el cuadro. La carga de datos en los componentes de persistencia tiene sentido para la edicion de los mismos, si solo necesitas mostrarlos… es por mucho mas eficiente recuperarlos mediante una SQL.
Evita colocarlo, el DT va a cargar un registro en particular por como estimo lo venis usando (mas alla de lo que te planteaba arriba), si queres cargar otro distinto tenes que volver a indicar cual es.
Saludos
Lo hago para mostrar los blob de la tabla con datos_tabla->get_blob(‘campo’), hay una mejor forma de hacer eso?
Matias,
siempre es mejor cargar los cuadros a partir de un SELECT
ya que el resultado no tiene otra estructura mas que el arreglo devuelto por PHP.
Mientras el DT genera una serie de estructuras internas destinadas a facilitar la edicion de los datos, con lo cual generar toda esa duplicacion y gestion para una visualizacion no tiene sentido.
Incluso si luego planeas editar un registro, conviene cargar puntualmente solo ese. Imagina una tabla con 10k registros y que el framework tenga que duplicar cada entrada internamente… son muchos recursos al cuete.
Si podes, los cuadros cargalos siempre mediante SQL… la unica forma de no hacer eso, seria si tuviera que editar de manera obligatoria y supiera que hay un tope de registros bajo.
Saludos