我的问题非常简单。我正在使用codeigniter活动记录,而模型类所要做的就是从属于用户的表中选择最新的项目。
function get_progress($users_id)
{
$query = $this->db->get('progress');
$this->db->where('user_key', $users_id);
$this->db->order_by("id", "desc");
$this->db->limit(1);
return $query->row_array();
}
看起来很简单,但出于某种原因,它抓住了与user_key匹配的最低ID。
我已尝试将where语句更改为
$this->db->where('id', '2');
它有效,但当然,这仅仅是为了排除故障。我需要变量。
我重写了几种方法,包括使用get_where()和将desc更改为asc。无论如何,它都抓住了低id。如何选择user_key为匹配数字的最高ID。
答案 0 :(得分:1)
您可以尝试以下代码
function get_progress($users_id){
return $this->db->from('progress')
->where('user_key', $users_id)
->order_by("id", "DESC")
->get()
->row();
}
您将获得最后一行作为STD Class对象
答案 1 :(得分:1)
function get_progress($users_id)
{
$this->db->select('*')
->from('progress')
->where('user_key',$users_id)
->order_by('id','desc')
->limit(1);
$q=$this->db->get();
return $q->result_array();
}