7

私は人々がこのコードを使用しているのを見てきましたが、codeigniterのドキュメントやデータベースクラスのソースコードには表示されていないため、その機能を理解しようとしています。

$this->db->ar_orderby
4

4 に答える 4

8

これは、列ごとの順序を保持する配列です。

このプロパティを直接使用する理由はありません。代わり$this->db->order_by('column')に、配列に自動的に追加するを呼び出します。

  • system/database/DB_active_rec.php42行目で定義
  • CI_DB_active_record::order_byメソッドの行856 に追加
  • CI_DB_active_record::_compile_select1781行目でSQLを生成するために使用
于 2013-01-30T20:21:10.157 に答える
3

もしかして

http://phpxref.com/xref/codeigniter/system/drivers/DB_active_record.php.source.html#l781

で順序を指定できます。

于 2013-01-30T20:12:44.697 に答える
3

以下の方法でこれを使用することはまだ理にかなっています-

if (!count($this->db->ar_orderby)) {
    $this->db->order_by($this->order_by );
}

基本的には、このメソッドが呼び出されたときにdbライブラリによって順序がまだ設定されていない場合は、これを使用します。「orderby」が2回呼び出されないようにします。

于 2013-12-23T06:32:58.690 に答える
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);
}
于 2016-04-20T19:19:02.947 に答える