How to add an ORDER BY clause using CodeIgniter's Active Record methods?

Cecil picture Cecil · Mar 16, 2011 · Viewed 305.5k times · Source

I have a very small script to get all records from a database table, the code is below.

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

Using this syntax, how would I add a ORDER BY 'name' clause to my select query?

I get errors every time I stick the order by bit on the end.

Answer

Ted Avery picture Ted Avery · Mar 16, 2011

I believe the get() function immediately runs the select query and does not accept ORDER BY conditions as parameters. I think you'll need to separately declare the conditions, then run the query. Give this a try:

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

CodeIgniter Documentation order_by()