我目前正在尝试创建一个相当基本的网络应用程序,它有可能为用户及其组织保存敏感(ish)数据。
我原本打算将所有用户输入的记录数据存储在一个数据库中,并将所有应用程序数据存储在另一个数据库中。这些数据将存储在一个共享数据库中,其中 user_id 和 org_id 针对所有表中的所有记录,以方便分离。
为了最大限度地降低代码错误和数据泄露的风险,我研究了使用Active Record 缓存自动将标准“where”语句附加到我的活动记录查询的能力
$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我也应该能够将其用于更新(设置方法):
注意:可以缓存以下语句:select、from、join、where、like、group_by、have、order_by、set。
查看 active_record 类“DB_active_rec.php”,存在代码以在几种方法(选择、位置等)中提供缓存。
if ($this->ar_caching === TRUE)
{
...do caching stuff
据我所知,这似乎从 set 方法中丢失了。
我不确定我想要什么答案,但希望是我做错了!