【问题标题】:How to select by MAX date in CI Active Record如何在 CI Active Record 中按 MAX 日期选择
【发布时间】: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活动记录怎么做?

【问题讨论】:

    标签: php mysql codeigniter date activerecord


    【解决方案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

        【讨论】:

          猜你喜欢
          • 2011-12-11
          • 1970-01-01
          • 1970-01-01
          • 2020-07-18
          • 1970-01-01
          • 2014-10-19
          • 2011-01-28
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多