В CodeIgniter, используя активную запись, как мне выполнить не равную в $this->db->where()
. Например:
$this->db->where('emailsToCampaigns.campaignId', $campaignId);
Будет равным, но мне не нужно. Я пытался:
$this->db->where('emailsToCampaigns.campaignId <> ', $campaignId); $this->db->where('emailsToCampaigns.campaignId != ', $campaignId); $this->db->where('emailsToCampaigns.campaignId', ' != ' . $campaignId); $this->db->where('emailsToCampaigns.campaignId != ' . $campaignId);
Все без везения. Идеи?
Согласно руководству, это должно работать:
Метод пользовательских ключей / значений:
Вы можете включить оператор в первый параметр, чтобы контролировать сравнение:
$this->db->where('name !=', $name); $this->db->where('id <', $id); Produces: WHERE name != 'Joe' AND id < 45
Найдите $this->db->where();
и посмотрите на пункт №2.
То же самое произошло со мной. Я не занимал место перед оператором. Может быть, у вас такая же ошибка.
$this->db->where("id !=",$id);
Попробуйте этот код. Кажется, это работает в моем случае.
$this->db->where(array('id !='=> $id))
Он отлично работал со мной,
$this->db->where("your_id !=",$your_id);
Или попробуйте этот,
$this->db->where("your_id <>",$your_id);
Или попробуйте этот,
$this->db->where("your_id IS NOT NULL");
все будет работать.
$this->db->where('emailsToCampaigns.campaignId !=' , $campaignId);
Это должно работать (что вы пробовали)
Для отладки вы можете разместить этот код сразу после выполнения запроса, чтобы узнать, какой именно SQL он производит, это может дать вам подсказки, вы можете добавить это к вопросу, чтобы получить дополнительную помощь.
$this->db->get(); // your query executing echo '<pre>'; // to preserve formatting die($this->db->last_query()); // halt execution and print last ran query.