作成日・更新日と同じように作成者・更新者も自動的に保存されると便利だと思う。
※insert時には作成者・更新者。update時には更新者のみ。
※今までsaveごとに作成者・更新者を設定していたが、beforeSaveにまとめれば楽なのではと考えた。
※他の方はどのようにしているか良かったら教えてほしい。
前提として、Authコンポーネントを使い作成者・更新者にはUserテーブルのidが入る構成になっている。
1.ログインIDを取得して、logined_user_idへ格納。
AppController
public function beforeFilter($options=[]) {
Configure::write('logged_user_id', $this->Auth->user('id'));
}
2.beforeSave()で保存前にinsertなら作成者へ、updateなら更新者へログインIDを設定している。
public function beforeSave() {
if(empty($this->id)){
$this->data[$this->alias]['created_user'] = Configure::read('logged_user_id');
}
$this->data[$this->alias]['modified_user'] = Configure::read('logged_user_id');
return true;
}