Astuce CodeIgniter : définir le timezone de la base de données
Voici une astuce publiée sur le forum de CodeIgniter qui permet de définir le timezone à utiliser par la base de données un seule fois pour tous les modèles de l’application.
Pour réaliser cette tâche, l’auteur à simplement dérivé la classe Model de CodeIgniter afin d’exécuter la requête SQL modifiant le timezone à la construction de l’objet. Ainsi, comme lorsqu’on utilise ACICRUD, les modèles de l’application doivent étendre la classe mère au lieu de la classe Model.
Voici l’exemple de code proposé :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
class Master_model extends Model{ public function __construct(){ parent::__construct(); $this->set_timezone(); } public function set_timezone(){ $this->db->query("SET time_zone='+0:00'"); } } class Some_model extends Master_model{ public function __construct(){ parent::__construct(); } } |