24/02/2008

CakePHP: Diferenciar add o edit en beforeSave o afterSave

El código que implementemos en el método afterSave o en el beforeSave se ejecutará tanto a la hora de realizar un add o un edit. Puede ser necesario diferenciar cuando se está ejecutando una u otra acción.

Ha falta de otra opción, una manera bastante limpia de hacerlo es preguntado por la existencia o no del id en los datos recibidos por las callbacks.

if (empty($this->id)){
            // Añadiendo (no modificando)
}