Un ejemplo de estos conceptos básicos que tenía dudosos es lo que pasa cuando creas registros en un modelo y cuando manipulas sus id.
Cuando haces un Model->save() sin indicar un id para el modelo, se crea un nuevo registro. Por tanto, para actualizar un registro existente debes indicar un id.
Esto lo puedes hacer tanto en la propiedad Model->id, como en el array de datos que pases a create o a save. Por ejemplo:
array('Model' => array('id' => 12));
Además, se siguen unas cuantas reglas más:
* Si Model->id tiene un valor y en el array de datos se pasa un valor nuevo, prevalece éste último.
* Si el id que has pasado no existe en la base de datos, se crea un registro nuevo con este id
Saber esto es interesante cuando nos interesa controlar la creación de id's mediante un sistema propio.
Por cierto, ¿qué pasa si nuestro id es de tipo integer pero no tiene auto_increment y no lo especificamos en el Model? Resulta que CakePHP es capaz de emular el auto_increment.
No hay comentarios:
Publicar un comentario