Propiedades principales de los modelos en CodeIgniter 4

- Andrés Cruz

In english
Propiedades principales de los modelos en CodeIgniter 4

La capa de modelos en el patrón de diseño MVC (Modelo-Vista-Controlador) es la capa que se encarga de la lógica de negocio y la comunicación con la base de datos. Es decir, es la capa que realiza las operaciones CRUD (Crear, Leer, Actualizar y Eliminar) en una base de datos, usualmente un modelo gobierna una tabla en la base de datos. Veamos las propiedades más comunes que podemos aplicar sobre nuestros modelos en CodeIgniter 4 y para qué sirven.

$table

Especifica la tabla de la base de datos con la que trabaja este modelo.

$primaryKey

Este es el nombre de la columna que identifica de manera única los registros en esta tabla. Esto no necesariamente tiene que coincidir con la clave principal que se especifica en la base de datos; se usa con métodos como find() para saber con qué columna hacer coincidir el valor especificado.

$useAutoIncrement

Especifica si la tabla usa una función de incremento automático para $primaryKey. Si se establece en falso, eres responsable de proporcionar el valor de la clave principal para cada registro de la tabla.

$returnType

Esta configuración permite definir el tipo de datos que se devuelven. Los valores válidos son 'array' (el valor predeterminado), 'objeto' o el nombre completo de una clase que se puede usar con el método getCustomResultObject() del objeto Result.

$useSoftDeletes

Si es verdadero, cualquier llamada al método delete() establecerá delete_at en la base de datos, en lugar de eliminar la fila. Esto puede preservar los datos cuando se puede hacer referencia a ellos en otro lugar, o puede mantener una "papelera de reciclaje" de objetos que se pueden restaurar, o incluso simplemente preservarlos como parte de un seguimiento de seguridad. Si es verdadero, los métodos find*() solo devolverán filas no eliminadas, a menos que se llame al método withDeleted() antes de llamar al método find*().

$allowedFields

Este array debe actualizarse con los nombres de campo que se pueden configurar durante los métodos save(), insert() o update(). Cualquier nombre de campo que no sea este, será descartado. Lo cual ayuda a proteger la integridad de las columnas que no queremos que la aplicación pueda interactuar.

$useTimestamps

Este valor booleano determina si la fecha actual se agrega automáticamente a todas las inserciones y actualizaciones. Si es verdadero, establecerá la hora actual en el formato especificado por $dateFormat. Esto requiere que la tabla tenga columnas denominadas created_at y updated_at en el tipo de datos adecuado.

$createdField

Especifica qué campo de base de datos usar para la marca de tiempo de creación de registro de datos.

$updatedField

Especifica qué campo de la base de datos debe usarse para mantener la marca de tiempo de actualización del registro de datos. 

Estos son algunas de las configuraciones más comunes y puedes ver la lista completa aquí:

https://codeigniter.com/user_guide/models/model.html#id6

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.