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!
- CakePHP 2.8.2 - 03/17/2016
- Reverse Routing - 03/17/2016
- CakePHP 12 Errori da Principiante - 02/24/2016
Scrivi un commento