$modelo->save()
Esta función del model sirve para guardar el registro en la base de datos. Devuelve true si se ha guardado correctamente, false en caso contrario.
Ejemplo
$cliente = new Cliente();
$cliente->nombre = 'Pepe';
$cliente->cifnif = '1234';
$cliente->save();
Inserción y actualización
El save() ya se encarga de comprobar si el registro existe en la base de datos:
- Si no existe, lo crea, es decir, hace un INSERT.
- Si existe, lo actualiza, es decir, hace UPDATE.
Internamente el modelo tiene dos funciones auxiliares:
- saveInsert() para ejecutar la inserción en la tabla.
- saveUpdate() para ejecutar la actualización del registro en la tabla.
Problemas habituales
Antes de hacer el insert o el update, la función save llama internamente a la función test() del modelo. Esta función se encarga de comprobar, entre otras cosas, que no tenemos valores NULL en aquellas columnas con restricción NOT NULL, por lo que si save() devuelve true, puede que realmente sea la función test() la que está deteniendo el proceso.