我正在尝试使用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
我做错了什么?
答案 0 :(得分:34)
在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();
答案 1 :(得分:0)
这对我有用
$query = $this->db->order_by('columnName', 'ASC')->get_where('tableName');
return $query->result();
答案 2 :(得分:0)
$this->db->order_by('birth_date', 'ASC');
$query = $this->db->get_where($field1, $field2);
答案 3 :(得分:0)
$ mysql_query ="从表格中选择*,其中col_name =' $ where'按birth_date命令asc&#34 ;;
$ query = $ this-> db-> query($ mysql_query);
我刚试过这个,它对我有用