Codeigniter order_by()

时间:2016-05-29 17:48:39

标签: codeigniter sql-order-by

我正在Codeigniter中建立一个博客,以便更熟悉它并帮助我提高PHP和CI技能。在我的主页上,我正在显示帖子我试图获得最新的帖子,但我的下面的代码不起作用。有什么想法吗?我已经查看并找到了一些我已添加到代码中的信息,但它仍然无效。当我加载页面时,下面没有任何错误,但它没有订购它们。

提前致谢

$data['posts'] = $this->db->order_by('post_id','DECS')->get('posts', $config['per_page'],$this->uri->segment(3));

1 个答案:

答案 0 :(得分:1)

将CodeIgniter等MVC框架的MODEL和Controller混合在一起是不好的做法。你应该遵循MVC模式。因此,请尝试将代码保存在控制器中

$data['posts'] =$this->MODEL_NAME->METHOD_NAME(param1, param2,param2..);

将模型方法中的整个查询编码为

function METHOD_NAME(param1, param2,param2...){
    $this->db->select('table_name.*')->from('table_name');
    $this->db->where( array('tareget_field'=>param1,'tareget_field'=>param2,'tareget_field2'=>param3));
    // You may use limit to get selected rows
    $this->db->limit(param..);
    $this->db->order_by('post_id','desc'); // **Here is your solution**.
    return $this->db->get()->result_array();
}

希望它对你有用!

谢谢!