Je rencontre un phénomène étrange en mélangeant $ this-> db-> where() et $ this-> db-> query().Codeigniter ActiveRecord et this-> db-> conflit de requête
if (!empty($args) && is_array($args)) {
foreach ($args as $key => $value) {
$this->db->where_in($field, $value);
}
}
$result = $this->db->query('SELECT * FROM ...')->result_array();
Même si je peux comprendre qu'il est sans doute préférable de ne pas mélanger ActiveRecord et requêtes régulières, je fais l'expérience que la clause WHERE je construis avec $this->db->where_in()
affecte les requêtes suivantes (c.-à-la clause exécute sur requête suivante) .
Toutes mes requêtes doivent-elles être réécrites pour ne pas utiliser ActiveRecord ou pour utiliser UNIQUEMENT ActiveRecord? Ou y a-t-il un moyen d'empêcher ce "conflit"? J'ai pensé à $ ths-> db-> flush_cache() mais je n'utilise pas la mise en cache de base de données, et son utilisation ne semble pas avoir d'effet.