2013-03-31 3 views
1

은 현재 내가 외국 키 thirdsmcontent_id 값이 조인을 사용하여 데이터를 검색 할 수는 지금은 mainmenu 테이블에서 submenu 테이블, menu_name에서 thirdmenu 테이블, submenu_name에서CodeIgniter의 :

thirdsubmenu_name의 가치를 얻을 싶어요.

이 문제를 해결하는 데 도움을주십시오. 아래 코드를 시도했지만 모델 코드가 올바르지 않습니다. 그것은 내 컨트롤러에서 내 데이터

내 데이터베이스 테이블 구조

1)Table: mainmenu 
    --------------- 
    mainmenu_id PK(primary key) 
    menu_name  ..... 

    2)Table: submenu 
    ------------------- 
    submenu_id  PK 
    mainmenu_id FK (foreign key refrences mainmenu table) 
    submenu_name ..... 


    3)Table: thirdsubmenu 
    -------------------- 
     thirdsubmenu_id  PK 
     submenu_id   FK (foreign key refrences submenu table) 
     thirdsubmenu_name  ........ 


    4)Table: thirdsmcontentdetails 
    -------------------- 
     thirdsmcontent_id PK 
     thirdsubmenu_id  FK (foreign key refrences thirdsubmenu table) 
     content    ...... 

를 표시하지 않는 내 모델에서

$thirdsubmenu_id = $this->uri->segment(4); 

    $data['main_menuname'] = $this->thirdsmcontentdetailsmodel->getMainMenuNameOfSubmenu($thirdsubmenu_id); 

//---------------------------get Main Menu Name by Menu id----------------------------------- 
function getMainMenuNameOfSubmenu($thirdsubmenu_id) 
    {  
     $this->load->database(); 
     $query = $this->db->join('thirdsubmenu','thirdsubmenu.submenu_id = thirdsmcontentdetails.submenu_id')->get_where('thirdsubmenu',array('thirdsubmenu_id'=>$thirdsubmenu_id)); 
     return $query->row('menu_name'); 
    } 

얻기 오류 :

A Database Error Occurred 

    Error Number: 1066 

    Not unique table/alias: 'thirdsubmenu' 

    SELECT * FROM (`thirdsubmenu`) JOIN `thirdsubmenu` ON `thirdsubmenu`.`submenu_id` = `thirdsmcontentdetails`.`submenu_id` WHERE `thirdsubmenu_id` = '1' 

    Filename: D:\xampp\htdocs\system\database\DB_driver.php 

    Line Number: 330 
+0

여기서는 선택하는 데 잘못된 테이블을 사용하고 있다고 생각합니다. –

+0

@KishorSubedi는 내 문제에 대한 답변을 게시 할 수 있습니까? 네팔 사람? –

+0

예. OK 나는 나의 대답을 게시 할 것이다. –

답변

1

당신은 불가능하며 이해되지 않는다 thirdsubmenu 등 모두 FROMJOIN을 정의하고 있습니다. 사용 다음 중 하나를

$this->db->join('thirdsubmenu','thirdsubmenu.submenu_id = thirdsmcontentdetails.submenu_id'); 
$query = $this->db->get_where('thirdsmcontentdetails',array('thirdsubmenu_id'=>$thirdsubmenu_id)); 

또는 :

$this->db->from('thirdsmcontentdetails'); 
$this->db->join('thirdsubmenu','thirdsubmenu.submenu_id = thirdsmcontentdetails.submenu_id') 
$this->db->where(array('thirdsubmenu_id'=>$thirdsubmenu_id)); 
$query = $this->db->get(); 

는 조인을 정의해야하는 방법을 볼 수있는 CI documentation에서보세요.