2013-04-15 59 views
0

我有Codeigniter安裝程序將前綴kms_添加到我的活動記錄查詢。但是,我正在嘗試使用兩個開啓條件進行連接,並且不會預先設定它們。添加表前綴加入Codeigniter

現在我必須手動添加它們像這樣:

$this->db->join('site_items', 'kms_site_items.item_id = kms_items.id AND kms_site_items.site_id = 1', 'left'); 

我能寫不同這讓表前綴正確添加?

有沒有辦法讓這樣的工作:

$this->db->join('site_items', 'site_items.item_id = items.id AND site_items.site_id = 1', 'left'); 

回答

4

您可以手動獲取當前數據庫的前綴是這樣的:

$prefixed_tablename = $this->db->dbprefix('tablename'); 

所以,你可以這樣做:

$this->db->join('site_items', $this->db->dbprefix('site_items') . '.item_id = ' . $this->db->dbprefix('items') . '.id AND ' . $this->db->dbprefix('site_items') . '.site_id = 1', 'left'); 

Docs Here

1

您可以簡單地添加Prefix這樣的表名稱:
例如您的表格有myPrefix_作爲前綴,其中一個可能是myprefix_user
然後在您的config/database.php這個頁面的底部設置您的database name,usernamepassword,您可以看到dbprefix,您可以設置您的前綴,如我上面提到的myPrefix_
最後,您可以簡單地調用您的表名稱,例如$this->db->get('user'),並自動Codeigniter將您的前綴設置爲第一個。