2015-02-05 5 views
1

프로젝트가있어서 문제가 발생했습니다. 나는 Codeigniter HMVC를 사용하고 따라서 모듈을 만든다. 도와 주셔서 감사합니다. 감사.데이터베이스 레코드가 존재하는지 확인하십시오. Codeigniter

하나는 다른 모듈을 호출하는 두 가지 모듈 방법이 있습니다. 다른 하나는 데이터베이스 결과를 전달하고 뷰에로드 한 다음 첫 번째 모듈 메소드에서 템플리트로 전달합니다. 이제는 두 번째 모듈에서 데이터가 아닌 뷰를 얻었으므로 반환 된 데이터베이스 레코드가 있는지 확인할 수있는 방법이 표시되지 않으며 그 목적으로 다른 데이터베이스 호출을 원하지 않습니다. "항목"과 "설명"모듈 간의 구분이 필요합니다. 대신에 데이터를 보내면 HMVC 구조를 방해 할 수있는 정말 지저분한 구조가됩니다. 그러므로 나는이 구조를 유지할 필요가있다. 데이터베이스 레코드가 있는지 확인하고 첫 번째 방법 만 실행하면 어떻게됩니까? 제발 조언.

function view_item($item_id) 
{  

    $data['item_id'] = $item_id;  
    $data['item'] = $this->item; 
    $data['item_group'] = $this->item_group; 
    $data['content_module'] = Modules::run("descriptions/view",$item_id); 
    $data['active_menu_item'] = "descriptions"; 
    $data['view_file'] = "handle_view"; 
    $data['module'] = $this->module; 
    $template = "application";  
    $this->load->module('templates'); 
    $this->load->templates->$template($data); 

} 

2 모듈 방식 URL을 통해 호출 감사

1 모듈 (제어 방법)의 대안이 될 것인가 1 모듈 방식

function view($item_id) 
{ 
    $data['title'] = "View description"; 
    $data['page_title'] = "View description"; 
    $data['page_subtitle'] = "This item";    
    $data['item_id'] = $item_id; 
    $array = array('item_id'=> $item_id,'group_id'=> $this->group_id); 
    $object = $this->get_where_custom($array); 
    $num_rows = $object->num_rows; 
    $descriptions = $object->result(); 
    $data['description'] = $descriptions[0]; 
    $this->load->view('view_view',$data); 

} 
+0

'if (empty ($ data [ 'content_module']))' 을 확인할 수 있지만 더 좋은 해결책이 있습니까? – nicolaib

답변

0
if(isset($data['content_module'])) 

로했다.

희망이 도움이됩니다.