2012-04-10 90 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「。我確實嘗試重新排序this-> db->從一行開始,將album_images移動到開始時將錯誤更改爲images.id。如果這是相關的。

任何人都知道我在這裏做錯了嗎?感謝

+0

你能打印你收到的確切錯誤嗎? – 2012-04-10 19:48:07

+0

移動album_images之前的錯誤在哪裏? – 2012-04-10 19:48:26

+1

您也可以'die($ this-> db-> last_query());'查看實際查詢的內容 - 可能是語法錯誤。 – 2012-04-10 19:50:24

回答

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

如果你做了兩個表(imagesalbums)之間的連接,你需要制定這兩個之間的關係。在你的情況下,你在兩個表之間進行了連接,但與第三個表(album_images)有關係,所以找不到該字段。

看得那麼清楚:

+0

我嘗試加入所有三個並沒有成功 – eeek 2012-04-10 20:23:01

+1

是的,你已經問過你做錯了什麼。這就是我在答案中指出的。如果它對你有幫助,請投票。如果你不知道如何使用codeigniter db模塊連接三個表格,我建議你以一個簡單的附加問題的形式提問(或者在網絡上搜索它 - 提示:我添加了一些指向答案的鏈接)。 – hakre 2012-04-10 20:26:19

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' 
    ); 
相關問題