代码之家  ›  专栏  ›  技术社区  ›  prattom

在CodeIgniter中组合用于查询的日期和时间列

  •  0
  • prattom  · 技术社区  · 7 年前

    我有一个带有单独日期和时间列的数据库表。为了得到特定的结果,我在mysql中执行查询的方式如下

    select * from table_A where empID='A1201' order by TIMESTAMP(date,time) desc limit 1
    

    我怎样才能把这个特殊的代码转换为点火器?我试过以下方法,但没用

    $column = 'TIMESTAMP(date,time)';
    $this->db->select('*');
    $this->db->where('empID', 'A1201');
    $this->db->from('table_A');
    $this->db->order_by($column, 'desc');
    $this->db->limit(1);
    $query = $this->db->get();
    $data = $query->result();
    return $data;
    

    此查询会导致错误,因为它以以下方式执行 ORDER BY TIMESTAMP(date DESC, time) DESC 正确的方法是 ORDER BY TIMESTAMP(date,time) DESC . 使用主动记录的正确方法是什么?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Atural    7 年前

    试试这个

    $query = $this->db
        ->select('*')
        ->where('empID', 'A1201')
        ->from('table_A')
        ->order_by($column, 'desc', false)
        ->limit(1)
        ->get();
    

    order by附带第三个选项-只需将其设置为 false

    你可以在他们的文档中得到更多关于这个的信息。 here

    推荐文章