11

get_where と order_by を使用しようとしています...

$query = $this->db->get_where($this->tbl_name, $where)->order_by('birth_date', 'ASC');

しかし、このエラーが発生しました...

Fatal error: Call to undefined method CI_DB_mysql_result::order_by() in C:\xampp\htdocs\OAWA\application\models\Member_model.php on line 82

私は何を間違っていますか?

4

3 に答える 3

41

CodeIgniter の Active Record では、結果セットを返すgetとを除いて、すべてのメソッドがオブジェクト自体を返します (これによりメソッド チェーンが可能になります) 。get_where

したがって、あなたがする必要があるのは次のとおりです。

$query = $this->db->order_by('birth_date', 'ASC')->get_where($this->tbl_name, $where);

すなわち、get_where()呼び出しは最後のものである必要があります。結果セットを返すため、order_by()後でget_where()呼び出すと無効な結果セットでそれを呼び出そうとします。

編集

このクエリを記述する他の方法もあります。

 $query = $this->db->from($this->tbl_name)->where($where)->order_by('birth_date', 'ASC')->get();
于 2012-11-10T20:58:37.823 に答える
0
$this->db->order_by('birth_date', 'ASC');
$query = $this->db->get_where($field1, $field2);
于 2015-03-06T14:22:08.037 に答える
0

これは私のために働いた

$query = $this->db->order_by('columnName', 'ASC')->get_where('tableName');
return $query->result();
于 2015-03-06T09:38:58.340 に答える