Using Order By in codeigniter

蓝咒 提交于 2019-12-02 06:12:46

Try this::

            $this->db->select('i.id, condition, description, created_at, updated_at, category, latitude, longitude, status, d.device_token, d.facebook, d.preferred, d.email, d.phone');
            $this->db->select("CONCAT('$url', `image_url_original`) AS `image_url_original`", false);
            $this->db->select("CONCAT('$url', `image_url_mid`) AS `image_url_mid`", false);
            $this->db->select("CONCAT('$url', `image_url_thumb`) AS `image_url_thumb`", false);
            $this->db->select("FIELD(`category`, 'Auto & Accessories', 'Couch', 'Bed', 'Desk & Office', 'Bike & Scooter', 'Tools', 'Leisure', 'Iron & Wood', 'Cabinet', 'Kitchen & Accessories', 'Refrigerator & Appliances', 'Toys & Games', 'Chair', 'Table', 'Garden & Terrace', 'TV, HIFI & Computers', 'General Item') AS `sort_col`", false);

            $this->db->from('item as i');
            $this->db->join('device as d', 'i.device_id = d.device_token');

            $this->db->where('created_at > DATE_SUB(UTC_TIMESTAMP(), INTERVAL 24 HOUR)');
            $this->db->where('i.status', 'shared');

            if($language === 'nl_NL') {
                $this->db->order_by('sort_col', 'asc');
            } else {
                $this->db->order_by('category', 'asc');
            } 

Better use this way

$ids = "1,3,2,4";
$qry ="SELECT * FROM (`destination`) WHERE `id` IN ($ids) ORDER BY `FIELD` ( id, $ids )";
$result = $this->db->query($qry);
return $result->result();
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!