我见过人们使用这段代码而我正在尝试理解它的作用,因为我没有在任何codeigniter文档或数据库类的源代码中看到它。
$this->db->ar_orderby
答案 0 :(得分:8)
这是一个按列保存顺序的数组。
没有理由直接使用此属性。而是自动调用附加到数组的$this->db->order_by('column')
。
system/database/DB_active_rec.php
第42行CI_DB_active_record::order_by
第856行CI_DB_active_record::_compile_select
第1781行答案 1 :(得分:3)
你的意思是
http://phpxref.com/xref/codeigniter/system/drivers/DB_active_record.php.source.html#l781
它允许您按照指定顺序。
答案 2 :(得分:3)
以下方式使用它仍然有意义 -
if (!count($this->db->ar_orderby)) {
$this->db->order_by($this->order_by );
}
它基本上意味着 - 如果调用此方法时db库尚未设置订单,请使用此方法。防止两次调用“order by”。
答案 3 :(得分:0)
您可以替换这些行:
if (!count($this->db->ar_orderby)) {
$this->db->order_by($this->order_by );
}
使用:
if(!count($this->db->order_by($this->order_by))) {
$this->db->order_by($this->order_by);
}