如何在 CI Active Record 中按 MAX 日期选择

Posted

技术标签:

【中文标题】如何在 CI Active Record 中按 MAX 日期选择【英文标题】:How to select by MAX date in CI Active Record 【发布时间】:2015-09-22 06:04:46 【问题描述】:

您好,我的表格结构如下所示

login_session_id, user_id, created_date, ci_cession_id, user_agent_string

created_date 字段是 mysql_date_time。

我想从此表中获取最新的行(基于created_date 字段)。 CI活动记录怎么做?

【问题讨论】:

【参考方案1】:

试试这个:

$this->db->select('*');
$this->db->from('** YOUR TABLE HERE **');
$this->db->order_by('created_date', 'desc');
$this->db->limit(1);
$query = $this->db->get();

这应该通过从表中选择所有列(您需要指定),将所有行与最近的日期排序在顶部,然后将其限制在第一行,这将是最近的条目.

【讨论】:

【参考方案2】:

使用order_by()

 $this->db->select('login_session_id, user_id, created_date, ci_cession_id, user_agent_string');
 $this->db->from("table_name");
 $this->db->order_by("created_date", "desc");
 $query = $this->db->get(); 
 return $query->result();

这样就可以了

更多信息请参考HERE

【讨论】:

【参考方案3】:

最好的办法是

$this->db->select_max('date');
$query = $this->db->get('members');  // Produces: SELECT MAX(date) as date FROM members
return $query->result();

https://www.codeigniter.com/userguide3/database/query_builder.html

【讨论】:

以上是关于如何在 CI Active Record 中按 MAX 日期选择的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter Active Record 中的 Concat

具有完全迁移支持的 .net Active Record ORM

如何在表单中使用 Active Record 枚举单选按钮?

如何在 Active Record 迁移中为字段添加索引以加快查询速度?

如何更改 Rails 中 Active Record 的默认时区?

如何通过Active Record计算数据库中的所有对象