在使用活动记录的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);
一切都没有运气。想法?
答案 0 :(得分:79)
根据手册,这应该有效:
自定义键/值方法:
您可以在第一个参数中包含运算符以控制比较:
$this->db->where('name !=', $name);
$this->db->where('id <', $id);
Produces: WHERE name != 'Joe' AND id < 45
搜索$this->db->where();
并查看第2项。
答案 1 :(得分:17)
同样的事情发生在我身上。我没有在操作员面前放置空间。可能是你得到了同样的错误。
$this->db->where("id !=",$id);
答案 2 :(得分:14)
它对我很好,
$this->db->where("your_id !=",$your_id);
或试试这个,
$this->db->where("your_id <>",$your_id);
或试试这个,
$this->db->where("your_id IS NOT NULL");
一切都会奏效。
答案 3 :(得分:10)
试试这段代码。 这似乎适用于我的情况。
$this->db->where(array('id !='=> $id))
答案 4 :(得分:9)
$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.
答案 5 :(得分:0)
这应该可以(您尝试过)
$this->db->where_not_in('emailsToCampaigns.campaignId', $campaignId);
答案 6 :(得分:0)
$this->db->select('*')
->from($this->table_proposals)
->where('customer_id', $this->session->userdata('user')['customer_id'])
->where('status <>' , 'draft')
->get()->result();
答案 7 :(得分:0)
这是来自 codeigniter 文档的示例