获取最近更新的数据-Codeigniter [英] Get last updated data - Codeigniter

查看:61
本文介绍了获取最近更新的数据-Codeigniter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在codeigniter中工作,我有一个下面的计划表,我的问题是我想显示每个计划的最新更新数据.我不知道该怎么做,请帮忙.

I am working in codeigniter, i have a below table of schemes, my problem is i want to show last updated data of each scheme. I dont know how to do that, please help.

my_table

scheme_code        updated_on            scheme_name
1                  2015-04-13            One
3                  2015-04-12            Three
4                  2015-04-13            Four
3                  2015-04-10            Three
3                  2015-04-8             Three
1                  2015-04-10            One
4                  2015-04-11            Four

我的模特

    function show_last_updated_data(){
        $this->db->select('*');
        $this->db->from('my_table');
        $this->db->order_by('updated_on', 'DESC');

        $query = $this->db->get();

        return $query->result();
    }

所需的输出

scheme_code        updated_on            scheme_name
    1              2015-04-13            One
    3              2015-04-12            Three
    4              2015-04-13            Four

推荐答案

我的答案基于@Syed Qarib.我将其修改为与Codeigniter活动记录格式兼容.

My answer is based on @Syed Qarib. I modified it to be compatible with codeigniter active record format.

function show_last_updated_data() {
    $this->db->select('*, str_to_date(updated_on, "%Y-%M-%d") As date', false); // false to skip escape
    $this->db->from('scheme');
    $this->db->group_by('scheme_code');
    $this->db->order_by('date', 'DESC');
    $query = $this->db->get();
    return $query->result();
}

修改

以另一种方式,

function show_last_updated_data() {
    $max = $this->db->select_max("updated_on")->group_by("scheme_code")->get('scheme')->result_array();
    $updated_on = array();

    if (count($max)) {
        $updated_on = array_column($max, "updated_on"); // make sure your php version is >= 5.5
    }

    $this->db->select("*");
    $this->db->from("scheme");
    $this->db->where_in("updated_on", $updated_on);
    $query = $this->db->get();
    return $query->result();
}

希望对您有用.

这篇关于获取最近更新的数据-Codeigniter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆