2012-11-01 3 views
0

시나리오는보고 응용 프로그램입니다. 현재까지 작업 해 온 MVC 응용 프로그램에는 일반적으로 하나의 특정 질문 (예 : get_username_from_id($id))에 응답하는 모델 방법이 있습니다. 내가하고 싶은 것은 선택된 체크 박스에 따라 다양한 방법으로 응답 할 수있는 하나의 쿼리입니다.Codeigniter에서 큰 동적 쿼리를 만드는 가장 좋은 방법은 무엇입니까?

예를 들어, 선택 항목에 하나만있는 쿼리가 있거나 선택 항목에 100 개의 항목이있을 수 있습니다. 내가 해낸 방식대로, 그것은 지저분 해졌습니다. 예를 들어 다음과 같은 작업을 수행합니다.

if(in_array("id", $grain)){ 
    $sql .= "table.id id, "; 
} 

이런 종류의 작업에는 모범 사례가 있습니까? 또는 그룹을 처리하는 방법조차도 추가 코드가 필요하지는 않습니까? 나는 이것이 일종의 열린 끝임을 알고 있으며, 아마도 제 질문을 정확하게 표현하지는 않을 것입니다. 전화를 걸고 올바른 질문을 할 수있는 사람들에게도 감사드립니다.

function apply_filters ($filters) 
{ 
     if(isset($filters['user_id']) AND !empty($filters['user_id'])) 
     { 
       $this->db->where('user_id', $filters['user_id']); 
     } 
} 
function get ($filters) 
{ 
     $this->apply_filters($filters); 
     return $this->db->get('favourites')->result(); 
} 
function update ($filters, $data) 
{ 
     $this->apply_filters($filters); 
     $this->db->update('favourites', $data); 
} 

당신은 당신의 필요에 apply_filters 기능을 확장 할 수 있어야한다 :

답변

0

나는 같은 것을 사용합니다. 질문은 당신이하고 싶은 것과 실제 데이터와 코드의 샘플에 대한 세부 사항을 많이 모으고 있습니다. 그래서 지금까지 제가 제안 할 수있는 것입니다.

관련 문제