数据库类对象

时间:2013-01-30 20:08:59

标签: php codeigniter

我见过人们使用这段代码而我正在尝试理解它的作用,因为我没有在任何codeigniter文档或数据库类的源代码中看到它。

$this->db->ar_orderby

4 个答案:

答案 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行
  • 中生成SQL

答案 1 :(得分:3)

答案 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);
}