CakePHP, CakePHP(バージョン2.x), データベース

バージョン:CakePHP 2.2.2
モデルで「belongsTo」や「hasMany」などを指定している場合に、
一時的にアソシエーションを解除する場合はunbindModelを使用します。
既にアソシエーションを定義している時に、取得するデータ量を減らしたい場合などに有効です。

CakePHP, CakePHP(バージョン2.x), データベース

バージョン:CakePHP 2.2.2
・基本
とりあえず「all」を指定しておけば、すべてのデータを取得することができます。

$this->モデル名->find('all');

CakePHP, CakePHP(バージョン2.x), データベース

バージョン:CakePHP 2.2.2
◆その他の条件
条件は「array」に纏めて記述します。
細かい条件は下記の通り。

CakePHP, CakePHP(バージョン2.x), データベース

バージョン:CakePHP 2.2.2
指定した条件の前後のデータを取得するには、neighborsを使用します。
「前へ」「次へ」のようなリンクを作る場合に使用できます。

CakePHP, CakePHP(バージョン2.x), データベース

バージョン:CakePHP 2.2.2
threadedを使うとデータのカテゴリ分けなど、ツリー構造でデータを取得できます。
フィールド「parent_id」をキーにして階層化したデータを取得するそうです。

CakePHP, CakePHP(バージョン2.x), データベース

バージョン:CakePHP 2.2.2
find(‘list’)を使用すると「primaryKey」が配列キー、「displayField」が配列値の形でデータ取得を行います。
デフォルトでは「id」と「name」というフィールドが取得できるみたいです。
もし、「name」がない場合は、「title」というフィールドが返ってきます。
「id」と「name」「title」以外のフィールドを取得したい場合は、下記のようにします。

CakePHP, CakePHP(バージョン2.x), その他

バージョン:CakePHP 2.2.2
CakePHPを使っていると、コントローラに全てのfindを記述してわかりにくくなる場合があります。
そうゆう時はモデルのメソッドを追加して、その中にfindを記述することによって、
コントローラがわかりやすくなることがあると思います。

CakePHP, CakePHP(バージョン2.x), データベース

バージョン:CakePHP 2.2.2
findでwhereによって絞り込む場合は、’conditions’を使用する。
基本は設定値でのAND条件検索となるが、ORを指定することも可能です。