Dans CodeIgniter utilisant l'enregistrement actif, comment puis-je effectuer un pas égal à dans $this->db->where()
. Par exemple:
$this->db->where('emailsToCampaigns.campaignId', $campaignId);
Fera égal à, mais je n'ai pas besoin d'égaler. J'ai essayé:
$this->db->where('emailsToCampaigns.campaignId <> ', $campaignId);
$this->db->where('emailsToCampaigns.campaignId != ', $campaignId);
$this->db->where('emailsToCampaigns.campaignId', ' != ' . $campaignId);
$this->db->where('emailsToCampaigns.campaignId != ' . $campaignId);
Tous sans chance. Des idées?
Selon le manuel, cela devrait fonctionner:
Méthode clé/valeur personnalisée:
Vous pouvez inclure un opérateur dans le premier paramètre afin de contrôler la comparaison:
$this->db->where('name !=', $name);
$this->db->where('id <', $id);
Produces: WHERE name != 'Joe' AND id < 45
Recherchez $this->db->where();
et examinez le point 2.
La même chose m’est venue à l’esprit. Je n’ai pas mis d’espace avant l’opérateur. Peut-être que vous obtenez la même erreur.
$this->db->where("id !=",$id);
Cela a bien fonctionné avec moi,
$this->db->where("your_id !=",$your_id);
Ou essayez celui-ci,
$this->db->where("your_id <>",$your_id);
Ou essayez celui-ci,
$this->db->where("your_id IS NOT NULL");
tout fonctionnera.
Essayez ce code. Cela semble fonctionner dans mon cas.
$this->db->where(array('id !='=> $id))
$this->db->where('emailsToCampaigns.campaignId !=' , $campaignId);
Cela devrait fonctionner (ce que vous avez essayé)
Pour déboguer, vous pouvez placer ce code juste après l'exécution de votre requête pour voir quel code SQL exact est généré, cela pourrait vous donner des indices, vous pouvez l'ajouter à la question pour permettre une aide supplémentaire.
$this->db->get(); // your query executing
echo '<pre>'; // to preserve formatting
die($this->db->last_query()); // halt execution and print last ran query.
Cela devrait fonctionner (ce que vous avez essayé)
$this->db->where_not_in('emailsToCampaigns.campaignId', $campaignId);