2011-03-16 44 views
39

我有一个非常小的脚本从数据库表中获取的所有记录,代码低于使用此语法笨 - ORDER BY的查询

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

,如何将我的ORDER BY“名称”?

我每次遇到错误时都会按顺序按顺序排列。

干杯,

回答

86

相信的get()函数立即运行选择查询,不接受ORDER BY作为参数的条件。我想你需要单独声明条件,然后运行查询。试试这个。

$this->db->from($this->table_name); 
$this->db->order_by("name", "asc"); 
$query = $this->db->get(); 
return $query->result(); 
+0

AHHHH是有道理的..谢谢你提供的 – Cecil 2011-03-16 02:55:34

+1

链接到文档:http://ellislab.com/codeigniter/user-guide/database/active_record.html – 2014-02-11 12:11:25

0

简单和容易:

$this->db->order_by("name", "asc"); 
$query = $this->db->get($this->table_name); 
return $query->result(); 
1

只是the'order_by”条款添加到您的代码并修改它看起来就像下面的一个。

$this->db->order_by('name', 'asc'); 
$this->db->where('table_name'); 

你走了。

8

使用此代码在单个查询中进行多次排序。

$this->db->from($this->table_name); 
$this->db->order_by("column1 asc,column2 desc"); 
$query = $this->db->get(); 
return $query->result(); 
0

试试这个:

 $this->db->select('main.*'); 
     $this->db->from("ci_table main"); 
     $this->db->order_by("main.id", "DESC"); 
     return $this->db->get()->result();