2014-05-14 9 views
0

codeigniter 활성 레코드 메서드를 사용하여 어떤 행에 id = 6이 들어 있는지 알아야합니다.
Pls에게 조언합니다.codeigniter 일치하는 문자열의 문자열

$this->db->like('id', 6); 
$this->db->get('mytable'); 

    | id  | 
---+----------+--- 
    | 3,16,8,6 | 
---+----------+--- 
    | 6,66  | 
---+----------+--- 
    | 7,560 | 
---+----------+--- 
+0

을 당신은 단지 6, 경기 (66)와 560도 일치하려고합니까? –

+0

나는 id = 6 만 원한다. – user1884324

+0

데이터가 구조화되어있는 방식으로 합리적으로 복잡한 SQL이 없으면이를 달성하기가 어렵습니다. 테이블 구조에 대해 더 많이 알지 못하면이 ID가 다른 테이블에 매핑된다고 가정 할 수 있습니다. 대신에 (현재 테이블과 해당 ID가 참조하는 테이블 사이에) 중간에 테이블이 있어야합니다. 각각은 관계를 매핑합니다. 또 다른 방법은 필드에 6이 들어있는 모든 레코드를 선택하고, PHP를 사용하여 루프를 반복하여 'if (in_array (6, explode (', 'ids))) * 할 물건 * /}' –

답변

0

이 같은 FIND_IN_SET, 사용할 수 있습니다

$searchterm = 6; 
$where = "FIND_IN_SET('".$searchterm."', id)"; 
$this->db->where($where); 
$this->db->get('mytable'); 
+0

당신은 .. 오신 것을 환영합니다. :) –

+0

정말 고마워요. 그것은 작동합니다. – user1884324

관련 문제