Spesso c’è la necessità di tenere traccia della data di creazione e/o modifica di un record. Questa è la parte più dolce delle ricette create con CakePHP.

È sufficiente aggiungere alle nostre tabelle due campi: created e modified.

I campi dovranno essere di tipo datetime e nullable. Saranno riconosciuti in automatico da CakePHP ed ogni volta che un record viene inserito o aggiornato questi campi verranno aggiornati automaticamente.

All’inserimento di un nuovo record i campi created e modified avranno lo stesso valore (data e ora corrente). Alla modifica del record verrà aggiornato solamente il campo modified. Il campo created rimarrà invariato.

Ecco una tabella per testare questi campi

Questa regola non è valida se in $this->data sono presenti i campi created o modified. È infatti possibile forzare questi valori che verranno aggiornati come un qualsiasi altro campo.

Se necessario possiamo forzare l’aggiornamento del campo modified rimuovendolo da $this->data. Il posto migliore per eseguire questa modifica globale è in AppModel eseguendo l’override del metodo save

Con questo esempio concludo l’articolo che, anche se breve, spero sia stato utile ed intenso!

Seguimi

Walter Raponi

Appassionato di torte!

Ingredienti base: Model, View, Controller! Un grande framework come CakePHP e la nostra torta è pronta!
Seguimi

Latest posts by Walter Raponi (see all)