web-dev-qa-db-fra.com

Enregistrement actif CodeIgniter différent

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?

50
matt

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.

79
Kevin Peno

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);
17
niro

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.

15
Raham

Essayez ce code. Cela semble fonctionner dans mon cas.

$this->db->where(array('id !='=> $id))
10
Eugine Joseph
$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.
9
jondavidjohn

Cela devrait fonctionner (ce que vous avez essayé)

$this->db->where_not_in('emailsToCampaigns.campaignId', $campaignId);
0
Vijendra Yadav