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é :
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();
}
}