2015-12-11 41 views
-2

我有三個表如下。主鍵以斜體Codeigniter - 從三個表中排序數據

  1. projecttasks 高亮和外鍵[projecttasksidprojectstructureidassignto,TASKNAME]

  2. projectstructure [projectstructureid專案編號,structurename ]

  3. 項目 [專案編號,項目名稱]

我可以得到比較 'assignto' 和用戶ID projecttasks形成會話陣列。 這樣我就可以獲得分配給登錄用戶的任務。

什麼是最好的方式來獲取'項目結構'和'項目'只爲登錄用戶/從'assignto'字段在Codeigniter方式。

我想寫點什麼, get_structures()和 get_projects()

代碼,

$user_id = $this->session->userdata('userID'); 

$data  = array('main_content' => 'view_project_tasks_page', 
        'tasks'  => $this->projects->get_project_tasks($user_id), 
        'structures' => $this->projects->get_structures(), 
        'projects' => $this->projects->get_projects() ); 

$this->load->view('template', $data); 

型號 - get_project_tasks($ user_ID的)

function get_project_tasks($user_id) 
{ 
$rules = array('assignto' => $user_id); 

$this->db->select()->from('projecttasks')->where($rules); 
$sql_stmt = $this->db->get(); 
return $sql_stmt->result(); 
} 
+1

你能告訴我們你試過什麼嗎? –

+0

發佈您的查詢完成 –

+0

我已經添加了上面的代碼,請檢查它 – user3868890

回答

0

你搜索什麼是簡單右鍵加入

在「CodeIgn它應該看起來像這樣(未測試)

function get_structures($user_id) { 
    $rules = array('projecttasks.assignto' => $user_id); 

    $this->db->select('projectstructure.*') 
     ->from('projectstructure') 
     ->join('projecttasks', 'projecttasks.projectstructureid = projectstructure.projectstructureid') 
     ->where($rules); 

    $sql_stmt = $this->db->get(); 
    return $sql_stmt->result(); 
} 

function get_projects($user_id) { 
    $rules = array('projecttasks.assignto' => $user_id); 

    $this->db->select('project.*') 
     ->from('projectstructure') 
     ->join('projecttasks', 'projecttasks.projectstructureid = projectstructure.projectstructureid') 
     ->join('project', 'projecttasks.projectid = project.projectid') 
     ->where($rules); 

    $sql_stmt = $this->db->get(); 
    return $sql_stmt->result(); 
} 
+0

是的它很簡單,但希望知道在Codeigniter的方式,並感謝這一點。 – user3868890