查詢執行發生在所有得到像
$this->db->get('table_name');
$this->db->get_where('table_name',$array);
方法雖然last_query包含如果你想查詢字符串不執行,你將不得不做這是運行
$this->db->last_query();
上次查詢這個。 進入系統/數據庫/ DB_active_rec.php從這些功能中刪除公共或受保護的關鍵字
public function _compile_select($select_override = FALSE)
public function _reset_select()
現在你可以編寫查詢,並把它在一個變量
$this->db->select('trans_id');
$this->db->from('myTable');
$this->db->where('code','B');
$subQuery = $this->db->_compile_select();
現在,所以如果你想重新查詢要寫另一個查詢,該對象將被清除。
$this->db->_reset_select();
然後就完成了。乾杯!!! 注意:使用這種方法,你必須使用
$this->db->from('myTable')
代替
$this->db->get('myTable')
它運行查詢。
Take a look at this example
歡迎並沒有problemo!他們將在新版本的CI中添加這兩種方法(還有一些用於插入,更新和刪除等),所以我們不需要破解它。 – 2013-04-12 12:22:54
@raheelshan這只是拯救了我的生命。你有沒有關於他們爲什麼使這個功能受到保護的任何信息? http://stackoverflow.com/questions/9232316/is-there-a-function-like-compile-select-or-get-compiled-select – motto 2013-07-11 05:20:58
請不要用'_'調用任何方法,這意味着私人訪問(而不是從外面)。這不是解決方案,而是稍後更新時的問題(當他們爲其方法添加真正的訪問級別時)。 – Roland 2017-09-20 15:53:24