Desarrollar comandos con Codeigniter 4 CLI
Desarrollar comandos con Codeigniter 4 CLI

En este tutorial vamos a ver cómo trabajar con bases de datos en Codeigniter 4, hace tiempo está en marcha el proyecto y va cogiendo forma, nosotros vamos a ver cómo podemos configurar una conexión a una base de datos mysql, cómo crear un modelo que extienda del modelo base de Codeigniter 4 para aprovecharnos de sus beneficios y finalmente veremos cómo realizar las operaciones más típicas de crud.

Debe quedar claro que a día de hoy Codeigniter 4 está en una versión pre-alpha, es decir, ni se te ocurra ponerlo en producción :).

repositorio de Codeigniter 4 y clonar el proyecto o simplemente descargarlo, una vez lo tengamos, lo abrimos con nuestro editor favorito.

Configurar la conexión con la base de datos en Codeigniter 4

Para configurar una conexión con nuestra base de datos mysql en Codeigniter 4 simplemente abre el archivo application/Config/Database.php y modifica el array que contiene la clave default con los datos de tu conexión.

Crear modelos en Codeigniter 4

Para crear nuestro primer modelo con Codeigniter 4 simplemente crea el archivo PostModel.php en el directorio application/Models y añade el siguiente código.


Con la propiedad $table le decimos qué tabla representará este modelo, $allowedFields son los campos que permitimos insertar, $useTimestamps a true hará que los campos created_at y updated_at sean actualizados automáticamente cuando se inserte o actualice un registro, finalmente $useSoftDeletes a true nos permite realizar borrados lógicos en lugar de físicos a través de una campo llamado deleted.

A continuación tienes el código de la tabla posts.


Ahora podemos utilizar el controlador Home y crear un nuevo método para insertar un post.


Cómo puedes ver es sencillo, obtenemos la instancia de nuestro modelo y ejecutamos el método insert con los datos necesarios, de paso vemos que el método insert retorna el id insertado, algo siempre muy preguntado en todos los foros…

Obtener un post en formato array es muy sencillo ya que así lo hace por defecto.


Pero si en lugar de obtener un array queremos un objeto podemos hacer lo siguiente.


Utilizando el método asObject() podemos hacer que el retorno sea un objeto.

Obtener todos los posts también es simple.


Si queremos actualizar un post simplemente debemos llamar al método find, obtener el post y finalmente llamar al método save.


Finalmente sólo nos queda eliminar un post, al haber utilizado borrados lógicos, el campo deleted pasará a estar en 1 y automáticamente no será retornado por codeigniter.


Y esta es la forma más básica en lo que respecta al trabajo con bases de datos en Codeigniter 4, pero cómo podemos ver, todo está en marcha y ya queda menos para que la versión sea finalizada.