INFRA

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

取得するページ数