CakePHP 1.2 の Model::find()
Model::findAll() や Model::findCount() が非推奨になって、Model::find() が、若干カオスな状態になってるみたい。古い記法と新しい記法があることがわかった。
APIリファレンス参照:
http://api.cakephp.org/class_model.html#e60758f27fa8486a063b8cc424bad741
新しい記法では、
- 第1引数 $conditions に、動作(all, first, count) を設定。
- 第2引数 $fields に、検索条件を設定。
第2引数の設定が微妙に今までと違うので注意。order とか limit とかも設定できる。
array('conditions' => array('age >' => 20), 'order' => 'id DESC', 'limit' => 10)
第2引数のキー | 値 |
---|---|
callbacks | ビヘイビアやコールバック(Model::beforeFind(), Model::afterFind())を実行するかどうかの制御。"before", "after", true, false を指定。 |
conditions | 検索条件。配列や文字列で記述。 |
fields | 取得するフィールド名。配列で記述。 |
joins | |
limit | SQL文の limit。数値を指定。 |
page | ページ番号(Pagination で利用?) |
offeset | SQL文の offset。数値を指定。 |
order | SQL文の ORDER BY。配列で記述。配列の値は、"[項目名] [ASC/DESC]" と記述。 |
recrusive | アソシエーションの深さ。数値を指定。 |