2011-03-07 20 views
43

En CodeIgniter usando el registro activo, ¿cómo realizo un no igual a $this->db->where(). Por ejemplo:Registro activo de CodeIgniter no igual

$this->db->where('emailsToCampaigns.campaignId', $campaignId); 

Hará igual a, pero no tengo por qué igual que. Lo he intentado:

$this->db->where('emailsToCampaigns.campaignId <> ', $campaignId); 
$this->db->where('emailsToCampaigns.campaignId != ', $campaignId); 
$this->db->where('emailsToCampaigns.campaignId', ' != ' . $campaignId); 
$this->db->where('emailsToCampaigns.campaignId != ' . $campaignId); 

Todo sin suerte. Ideas?

Respuesta

7
$this->db->where('emailsToCampaigns.campaignId !=' , $campaignId); 

Esto debería funcionar (que ya ha probado)

para depurar puede colocar este código justo después de ejecutar su consulta para ver lo que SQL exacto en que se produce, esto podría dar pistas, es posible que agréguelo a la pregunta para permitir más ayuda.

$this->db->get();    // your query executing 

echo '<pre>';     // to preserve formatting 
die($this->db->last_query()); // halt execution and print last ran query. 
+0

que se supone que es una coma en la primera línea, tiene un punto (concat). – jondavidjohn

72

De acuerdo con el manual de esto debería funcionar:

personalizado método de clave/valor:

Puede incluir un operador en el primer parámetro con el fin de controlar la comparación:

$this->db->where('name !=', $name); 
$this->db->where('id <', $id); 
Produces: WHERE name != 'Joe' AND id < 45 

Busque $this->db->where(); y mire el artículo n.º 2.

+6

** Nota pequeña: el espacio es obligatorio entre el nombre del campo y el operador (como se indica en el ejemplo anterior) **. Lo estaba intentando sin dar espacio entre el nombre del campo y el operador. No estaba funcionando. –

12

Se me ocurrió lo mismo. No he puesto espacio antes del operador. Puede ser que estés obteniendo el mismo error.

$this->db->where("id !=",$id); 
8

Pruebe este código. Esto parece funcionar en mi caso.

$this->db->where(array('id !='=> $id)) 
9

funcionó bien conmigo,

$this->db->where("your_id !=",$your_id); 

O intente éste,

$this->db->where("your_id <>",$your_id); 

O intente éste,

$this->db->where("your_id IS NOT NULL"); 

todo saldrá bien.

Cuestiones relacionadas