2013-05-21 2 views
8

CI 액티브 레코드의 "Where Not In"에 문제가 있습니다. 일련의 신분증을 제외하려고합니다. 나는 모든 것이 잘되고 멋쟁이 일하는 이유를 이해할 수 없었다. 하나의 레코드가 있지만 복수는 아니다.CodeIgniter 액티브 레코드 (String In Not String)

내 쿼리

$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 "의 루프를하도록 강요하거나 그런 일이 있습니까 ?

답변

24

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

+0

감사 남자 I이 누락 된 같은 신인이다! 완벽하게 작동합니다! – JREAM

+0

기꺼이 도와 드리겠습니다! :-D –

+1

당신은 내 하루를 저장합니다. 고맙습니다. @RocketHazmat –