Codeigniter join,group_by和max

时间:2013-06-20 18:12:29

标签: php sql codeigniter activerecord

我找不到让它运转的方法。我必须使用表格,第一个是订单,第二个是跟踪。我想将最新的跟踪行添加到左表行。 这是我到目前为止尝试过的(不起作用):

        $this->db->select('orders.*, trackings.id AS trackings_id, trackings.order_id AS trackings_order_id, MAX(trackings.status) AS trackings_status, trackings.created_at AS trackings_created_at, trackings.updated_at AS trackings_updated_at, trackings.ip_address AS trackings_ip_address');
        $this->db->from('orders');
        $this->db->join('trackings', 'orders.id = trackings.order_id', 'left');
        $this->db->group_by('trackings.order_id');
        $this->db->order_by('orders.created_at', 'DESC');
        $query = $this->db->get();
        return $query->result();

1 个答案:

答案 0 :(得分:2)

哇,我讨厌CI的活跃记录,这在大多数情况下是一个真正的痛苦......

首先,我按 orders.id

进行分组

其次,如果您定义"不工作"那将会很棒。 (给出错误的结果?根本不执行?)

P.S。很抱歉发布它作为答案(我更喜欢评论),但我的代表仍然有点低......