2012-04-10 2 views
1

나는 잠시 동안이 오류를보고 있었고, 내 codeigniter sql 쿼리에 대해 잘못된 것을 알 수 없었습니다. 누구든지 조언 할 수 있습니까?'필드 목록'에서 알 수없는 열 'xxx', Codeigniter

알 수없는 열이 나는 모든 것을 여러 번 모든 철자를 확인하고 여전히 같은 결과를 얻을 것

 $this->db->select(' 
     albums.id as album_id, 
     albums.album_title, 
     album_images.album_id, 
     album_images.image_id, 
     AVG(views.id) as views_id, 
     views.views as views_total, 
     images.id, 
     images.alpha_id, 
     images.user, 
     images.image_title, 
     images.image_type, 
     images.file_ext, 
     images.image_width, 
     images.image_height, 
     images.file_size, 
     images.submitted, 
     images.status' 
    ); 

    $this->db->from('images', 'albums', 'album_images', 'views'); 
    $this->db->join('albums', 'albums.id = album_images.album_id'); 
    $this->db->join('views', 'views.id = images.id', 'left'); 
    $this->db->where('albums.id', $id); 
    $this->db->where('images.status', 1); //fiter out deleted ones 

    $this->db->group_by('images.id'); 

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

'필드 목록'에서 'album_images.album_id'. 나는이 -> db-> 행을 재정렬하려고 시도했다. 앨범 _ 이미지를 처음으로 옮기면 오류가 대신 images.id로 바뀌었다. 그게 전혀 관련이 없다면.

누구나 내가 뭘 잘못하고 있는지 알아? 당신이 두 테이블 (images, albums) 사이에 가입 할 경우 감사

+0

정확한 오류를 인쇄 할 수 있습니까? –

+0

album_images를 이동하기 전에 오류가 발생한 위치는 어디입니까? –

+1

당신은 또한'die ($ this-> db-> last_query());'질의가 실제로 무엇인지 볼 수 있습니다. 어쩌면 구문 오류 일 수 있습니다. –

답변

4
SELECT ... FROM (`images`) JOIN `albums` ON `albums`.`id` = `album_images`.`album_id` ... 

, 당신은 그 둘 사이의 관계를 공식화 할 필요가있다. 두 테이블 사이에 조인을하지만 세 번째 테이블 (album_images)과의 관계이므로 필드를 찾을 수 없습니다.

는 는

도 참조 :

+0

ive는 세 가지 모두 성공하지 못했습니다. – eeek

+1

네가 잘못한 일을 물어 봤어. 그게 제가 제 대답에서 지적한 것입니다. 그것이 당신을 도운다면 투표하십시오. codeigniter db 모듈을 사용하여 세 개의 테이블을 조인하는 방법을 모르는 경우 간단하거나 추가 질문 (또는 웹 검색 - 힌트 : 답변에 대한 링크를 추가 함)과 같은 형식으로 질문하는 것이 좋습니다. – hakre

0

당신이

를 작동 여부를 확인 여부를 내가 그것을 수정 중복 된 열 이름 을 줄이 시도
$this->db->select(' 
     albums.id as albums_id, 
     albums.album_title, 
     album_images.album_id, 
     album_images.image_id, 
     AVG(views.id) as views_id, 
     views.views as views_total, 
     images.id, 
     images.alpha_id, 
     images.user, 
     images.image_title, 
     images.image_type, 
     images.file_ext, 
     images.image_width, 
     images.image_height, 
     images.file_size, 
     images.submitted, 
     images.status' 
    );