CodeIgniter Active Record不相等

时间:2011-03-07 22:53:08

标签: php codeigniter

在使用活动记录的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);

一切都没有运气。想法?

8 个答案:

答案 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 文档的示例

enter image description here