LoginSignup
2
1

More than 5 years have passed since last update.

【CakePHP】マジックfindで簡単に複数条件を指定する

Last updated at Posted at 2015-10-01

マジック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);

尚、AndOrは一緒に使うことはできないようです。
複雑な条件を指定する場合は、普通にfindメソッドを使う感じです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1