私は現在、ユーザーとその組織の機密 (ish) データを保持する可能性がある、かなり基本的な Web アプリを作成しようとしています。
ユーザーが入力したすべてのレコード データを 1 つのデータベースに保存し、すべてのアプリ データを別のデータベースに保存するつもりでした。
コード エラーとデータ侵害のリスクを最小限に抑えるために、アクティブ レコード キャッシングを使用して、アクティブ レコード クエリに標準の「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によると、更新にもこれを使用できるはずです(setメソッド):
注: 次のステートメントをキャッシュできます: select、from、join、where、like、group_by、having、order_by、set。
active_record クラス "DB_active_rec.php" を見ると、いくつかのメソッド (select、where など) でキャッシュを提供するコードが存在します。
if ($this->ar_caching === TRUE)
{
...do caching stuff
私が言えることから、これは set メソッドに欠けているようです。
私が求めている答えはわかりませんが、うまくいけば、私は間違っているだけです!