マジックfindは自動的にfind('first')
またはfind('all')
を呼び出して実行するメソッドです。
メソッドの書き方は、findBy
またはfindAllBy
の後ろに、指定したいカラムをキャメルケースで並べます。
例えばこんな感じです。
findBy
// find('first', array('conditions' => array('Model.id' => $id))) に対応
$this->Model->findById($id);
findAllBy
// find('all', array('conditions' => array('Model.id' => $id))) に対応
$this->Model->findAllById($id);
指定したいカラムを複数にすることも可能で、
その場合は、findBy
またはfindAllBy
の後ろに、指定したいカラムをAnd
またはOr
で繋いで並べます。
例えばこんな感じです。
AND条件
// find('first', array('conditions' => array('Model.id' => $id, 'Model.name' => $name))) に対応
$this->Model->findByIdAndName($id, $name);
OR条件
// find('first', array('conditions' => array('OR' => array('Model.id' => $id, 'Model.name' => $name)))) に対応
$this->Model->findByIdOrName($id, $name);
尚、And
とOr
は一緒に使うことはできないようです。
複雑な条件を指定する場合は、普通にfindメソッドを使う感じです。