2013-08-19 5 views
0

codeigniter 프레임 워크를 사용하여 쿼리를 실행하려고합니다. WHERE 절을 사용하지 않고 대신 쿼리의 JOIN 문에 ON 절의 일부로 조건을 포함했습니다. JOIN 문이 WHERE 절보다 먼저 실행되기 때문에 훨씬 더 효율적입니다. 여기 내 코드는 다음과 같습니다.Codeigniter join()이 작동하지 않습니다.

$this->db->select('SQL_CALC_FOUND_ROWS 
     projects.id, projects.project_name, projects.date_modified, 
     projects.last_modifier, projects.status, project_users.permission', false)-> 
      from('projects'); 
     $this->db->join('project_users', 'project_users.id = projects.id AND 
      project_users.user_id = ' . $this->user_id); 
    if ($orderby !== false) { 
     $this->db->order_by($orderby, $direction); 
    } 
    if ($limit !== null) { 
     $this->db->limit($limit, $offset); 
    } 
    $query = $this->db->get(); 

페이지를로드하려고하면 SQL 오류가 발생합니다.

SELECT SQL_CALC_FOUND_ROWS projects.id, projects.project_name, projects.date_modified, projects.last_modifier, projects.status, project_users.permission FROM (`projects`) JOIN `project_users` ON `project_users`.`id` = `projects`.`id` AND ORDER BY `project_name` ASC LIMIT 5, 0 

답변

0
join('project_users', 'project_users.id = projects.id AND project_users.user_id = ' . $this->user_id); 

$this->db->join('project_users', 'project_users.id = projects.id AND 
     project_users.user_id = ' . $this->user_id); 
+0

감사해야하지만, 그 이후에 오류했지만, 내 코드에 대한 유감 정확했다 : CodeIgniter는이 후 상태를 포함하지 않고 것 같다 그. – Paul

관련 문제