'字段列表'中的未知列'xxx',Codeigniter
问题描述:
我一直在看这个错误一段时间,看不到我在做错我的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。如果这是相关的。
任何人都知道我在这里做错了吗?感谢
答
SELECT ... FROM (`images`) JOIN `albums` ON `albums`.`id` = `album_images`.`album_id` ...
如果你做了两个表(images
,albums
)之间的连接,你需要制定这两个之间的关系。在你的情况下,你在两个表之间进行了连接,但与第三个表(album_images
)有关系,所以找不到该字段。
看得那么清楚:
答
试试这个你给重复列名 我纠正你检查它是否有效与否
$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'
);
你能打印你收到的确切错误吗? – 2012-04-10 19:48:07
移动album_images之前的错误在哪里? – 2012-04-10 19:48:26
您也可以'die($ this-> db-> last_query());'查看实际查询的内容 - 可能是语法错误。 – 2012-04-10 19:50:24