我目前正在尝试创建一个相当基本的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