CodeIgniter活动记录不在字符串中

时间:2013-05-21 15:36:36

标签: codeigniter

我遇到了CI Active Record的“不在”的问题。我试图排除一系列ID。我无法理解为什么一切都运行良好,花花公子与一个记录,但不是多个。

我的查询

$this->db->where_not_in('crm.user_id', $ignore);

问题是当我个人资料时,查询错误。

使用ID

的字符串
// $ignore = "12,13";    
SELECT *
FROM (`crm`)
WHERE `crm`.`user_id` NOT IN ('16,13') 
AND `survey` =  1 

使用一串引号ID

// $ignore = "'12','13'";
SELECT *
FROM (`crm`)
WHERE `crm`.`user_id` NOT IN ('\'16\',\'13\'') 
AND `survey` =  1 

我是否被迫做了一个“ or_where_not_in ”或类似的循环?

1 个答案:

答案 0 :(得分:32)

where_inwhere_not_in希望您传递数组,而不是字符串作为第二个参数。

$ignore = array(12, 13);

$this->db->where_not_in('crm.user_id', $ignore);

链接到文档:http://www.codeigniter.com/userguide2/database/active_record.html