如何在CodeIgniter中从数据库返回最后一条记录?

3

我正在尝试获取数据的最后日期。因此,我想要打印出列 date_data 中的最后日期。

在模型中:

public function last_record()
{ 
    $query = $this->db->select('LAST(date_data)');
    $this->db->from('date_data');
    return $query;
}

在控制器中:

$last_data = $this->attendance_m->last_record();
var_dump($last_data);

但我没有得到期望的结果

8个回答

10

试一下

$query = $this->db->query("SELECT * FROM date_data ORDER BY id DESC LIMIT 1");
$result = $query->result_array();
return $result;

8

如果想要获取表中最后一条记录,请使用ORDER BY DESCLIMIT 1一起使用。

return $last_row=$this->db->select('*')->order_by('id',"desc")->limit(1)->get('date_data')->row();

非常感谢您的回答。 - Rajan

5
您可以按以下代码执行此操作:
public function get_last_record(){
     $this->db->select('*');
     $this->db->from('date_data');
     $this->db->order_by('created_at', 'DESC'); // 'created_at' is the column name of the date on which the record has stored in the database.
     return $this->db->get()->row();
}

如果您希望,也可以设置限制。


2

只使用Active Record尝试一下这个

$this->db->limit(1);
$this->db->order_by('id','desc');
$query = $this->db->get('date_data');
return $query->result_array();

2
public function last_record()
{ 

    return $this->db->select('date_data')->from('table_name')->limit(1)->order_by('date_data','DESC')->get()->row();
}    

非常感谢您的回答。 - Rajan
哟,这个答案很棒!谢谢。 - Dylan B

1
有一个简单的方法可以做到这一点,尝试一下:

public function last_record()
{ 
$query ="select * from date_data order by id DESC limit 1";
$res = $this->db->query($query);
return $res->result();
}

非常感谢您的回答。 - Rajan

0

$data = $this->db->select('*')->from('table')->where(id,$uid)->order_by('id',"desc")->limit(1)->get()->result();


0

尝试使用以下代码获取最后五条记录:

/**
* This method is used to get recent five registration
*/
public function get_recent_five_registration(){
    return $this->db->select('name')
    ->from('tbl_student_registration')
    ->limit(5)
    ->order_by('reg_id','DESC')
    ->get()
    ->row();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接