edo1z blog

プログラミングなどに関するブログです

cakePHP - データ検索

データの検索はこれでできる。

$data = $this->Board->find('all',array('conditions'=>
 array('Board.id'=>$this->data['Board']['id'])));

Boardモデルのfindメソッドを使って、テーブルboardsを検索している。 find('検索仕様','オプション');のように引数を二つ要する。 第一引数は、検索仕様の設定であり、all、first、list、countのいずれかを入力する。 第二引数は、オプションの設定であり、conditions,fields,recursive,order,limit,pageを連想配列として入力する。

第一引数(検索仕様)

all

allは検索条件に合致する全てを返す。データ構造は下記のとおり。

Array
(
    [0] => Array
        (
            [Board] => Array
                (
                    [id] => 1
                    [name] => taro
                    [title] => test
                    [content] => hello every one. how are you today?
                )

        )

)

first

firstは検索条件に合致する最初の一つを返す。データ構造は下記のとおり。

Array
(
    [Board] => Array
        (
            [id] => 1
            [name] => taro
            [title] => test
            [content] => hello every one. how are you today?
        )

)

list

listは条件に合致する全てのデータの、キーとその次のフィールドを返す。データ構造は下記のとおり。

Array
(
    [1] => test
)

count

countは条件に合致するデータの個数を返す。

第二引数(オプション)

conditions

条件の設定。条件をつけるフィールド名をキーに、検索する値を値とする連想配列として用意する

fields

取得するフィールド名を配列として用意する

recursive

再帰的に取得する深度

order

取得順。順序を示す数字または名前を配列として用意する

limit

取得するレコード数

page

取得するページ数