使い方
Byのあとをカラム名と見なして検索する。
以下は「where User.id=123」と同じ。
findBy
$this->User->findById(123);
findAllBy
$this->User->findAllById(123);
findByは単一レコード取得のfind('first')と同じ。
findAllByは複数レコード取得のfind('all')と同じ。
戻り値
findByはfind('first')と同じ。
findAllByはfind('all')と同じ。
findByの戻り値
array(
'User' => array(
'id' => '123',
'name' => 'suzuki',
)
)
findAllByの戻り値
array(
0=>array(
'User' => array(
'id' => '123',
'name' => 'suzuki',
)
)
)
複数カラムを検索対象にすることも可能
複数カラムをOrやAndでつなぐ。
//「User.email = 'jhon' OR User.username = 'jhon'」と同じ。
$this->User->findByEmailOrUsername('jhon');
//「User.username = 'jhon' AND User.password = '123'」と同じ。
$this->User->findByUsernameAndPassword('jhon', '123');
取得フィールド、ソートなどの指定も可能
$this->findByカラム名('カラム条件',fields,order,recursive);
パラメータが連想配列ではないので、使わないところはnullで渡す。
$this->findByカラム名('カラム条件',null,array('created'));