2012-04-10 88 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' 
    ); 
相关问题