Cakephp2 Model::readについて

$this->read(array('id', 'name'), 1);

 

下のfindを同じ効果

$this->find(

 'fields' => array('id', 'name'),

 'conditions' => ('id' => 1)

);

 

ただし、

・「Model::validationErrors」プロパティにはモデル保存等でバリデーションエラーが存在する場合にそのエラーメッセージが蓄えられるが、read()を実行すると問答無用で初期化。(http://blog.ecworks.jp/archives/1306)

read はモデルに保持されている data と id の値を上書きするので、このメソッドを使う時は気をつけてください。特に beforeValidate や beforeSave などのモデルのコールバック関数で使う場合などは注意が必要(http://book.cakephp.org/2.0/ja/models/retrieving-your-data.html)

らしい