何をしているかといいますと、
複数のコントローラーから共通の更新処理をしたいのでコンポーネントの中でモデルを操作しています。
(コンポーネントのinitializeメソッドで呼び出し元のコントローラを引き継いでいます。)
コンポーネントに引き継がれているコントローラーのモデルのreadメソッドを使うと、何故かそのレコードの全項目が更新されてしまうようなのです。
readメソッドをやめて、findByメソッドを使うようにしたら上手くいったのですが、原因不明でものすごく気持ち悪いです。
public function initialize(Controller $controller) { $this->controller = $controller; }
$rs = $this->controller->XXXXX->read(null, $id);
$rs = $this->controller->XXXXX->findById($id);
何か情報を持っている方いましたら、ご連絡をお待ちしております。
環境を書き忘れました。
簡単に。
CakePHPのバージョンは、2.5.3です。
データベースは、MySQL 5.6.21 (AWSのRDSを使っています。)
0 件のコメント:
コメントを投稿