我想使用get_where和order_by这样...
$query = $this->db->get_where($this->tbl_name, $where)->order_by('birth_date', 'ASC');
Run Code Online (Sandbox Code Playgroud)
但得到了这个错误......
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
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
xbo*_*nez 35
在CodeIgniter的Active Record的,每一个方法返回对象本身(它允许方法链接),除了get和get_where其返回结果集.
因此,您需要做的是:
$query = $this->db->order_by('birth_date', 'ASC')->get_where($this->tbl_name, $where);
Run Code Online (Sandbox Code Playgroud)
即get_where()呼叫需要是最后一个.它返回结果集,因此调用order_by()after get_where()尝试在无效的结果集上调用它.
编辑
还有其他方法可以编写此查询:
$query = $this->db->from($this->tbl_name)->where($where)->order_by('birth_date', 'ASC')->get();
Run Code Online (Sandbox Code Playgroud)