我目前正在嘗試創建一個相當基本的Web應用程序,它有可能爲用戶及其組織保存敏感(ish)數據。CodeIgniter - 插入查詢的活動記錄緩存
我原本打算將所有用戶輸入的記錄數據存儲在一個數據庫中,並將所有應用程序數據存儲在另一個數據庫中。這些數據將存儲在共享數據庫中,其中包含user_id和org_id以針對所有表中的所有記錄進行分隔。
爲了儘量減少代碼錯誤和數據泄漏的風險我已經研究到自動附加標準「其中」語句來我的活動記錄查詢使用Active Record Caching
$this->db->start_cache();
$this->db->where('user_id',$_SESSION['user_id']);
$this->db->where('org_id',$_SESSION['org_id']);
$this->db->stop_cache();
這是輝煌的,將節省很多麻煩的能力。然而,根據該文件 http://codeigniter.com/user_guide/database/active_record.html#caching我也應該能夠使用此更新(設置方法):
注:下面的語句可以被緩存:選擇,來自加盟,其中一樣,GROUP_BY,有,order_by,set。
看着active_record類「DB_active_rec.php」,有代碼存在提供緩存在幾個方法(select,where等)。
if ($this->ar_caching === TRUE)
{
...do caching stuff
從我可以告訴這似乎是從設置方法丟失。
我不知道我在回答什麼問題,但希望這會是我只是做錯了!
我有一個問題的理解,你想完成什麼? Active Record緩存使您可以重用部分查詢。例如,你的' - > where()'將被放到你的下一個SQL語句中。 – 2012-07-10 11:53:00
Steven,我的要求是確保數據始終通過這些表中的org_id和user_id進行過濾。這可以通過主動記錄緩存完成,我的困惑在於插入數據,其中我也想自動插入這些值。我認爲他們的文檔是誤導性的,暗示緩存可用於設置的方法。我現在的問題,我想我會如何去自動插入這兩個字段的所有表插入查詢。 – idodev 2012-07-10 12:56:10