2015-05-07 74 views
3

我只想查询具有最高喜欢的项目。将Sql查询转换为CodeIgniter活动记录

这是sql查询我想转换成CodeIgnitor的活动记录:

SELECT *, SUM(like) as totalLikes 
FROM tbl_like 
GROUP BY uploadID 
ORDER BY totalLikes DESC 
LIMIT 2 

笨:

public function get_cheezyPic(){ 
     $this->db->select('uploadID, SUM(like) as totalLikes'); 
     $this->db->from('tbl_like'); 
     $this->db->group_by('uploadID'); 
     $this->db->order_by('totalLikes DESC'); 
     $this->db->limit(2); 

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

     return $query->result_array();} 

但是当我尝试运行这段代码,我有这个错误

您的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的正确语法手册“等)作为totalLikes FROM(tbl_like)GROUP BY uploadID ORDER BY totalLikes”在行1

SELECT `uploadID`, SUM(like) as totalLikes FROM (`tbl_like`) GROUP BY `uploadID` ORDER BY `totalLikes` desc LIMIT 2 

有什么不对的代码?

感谢您的帮助。

回答

0

这会为你工作。请注意,您使用的是保留关键字,因此应使用退格``

public function get_cheezyPic(){ 
     $this->db->select('uploadID, SUM(`like`) as totalLikes',false); 
     $this->db->from('tbl_like'); 
     $this->db->group_by('uploadID'); 
     $this->db->order_by('totalLikes DESC'); 
     $this->db->limit(2); 

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

     return $query->result_array(); 
} 
+0

我已经得到了同样的错误,把假 – Jen143Me

+0

@ Jen143Me IHAVE更新,你可以检查为'like'查询保留它需要被引用关键字 –

+0

呀,,它现在的工作之后,但我怎么样我会显示总喜欢吗? – Jen143Me

相关问题