データを検索する (3/4)
作成:2011-11-21 08:16
更新:2011-12-06 19:38
更新:2011-12-06 19:38
■「find」メソッドの第1パラメータ
データの取得は、このようにfindメソッドで行えます。このfindは、全データの取得しかできないわけではありません。引数の指定により、さまざまな形でデータを取り出すことができます。このfindメソッドは、整理すると以下のような形になっています。
find( オプション , パラメータ設定 );
第1引数には、検索し取得するデータに関する指定を示すテキストが用意されます。これは以下のようなものがあります。
‘all’――検索されるすべてのデータを取得する。
‘first’――検索されるデータの最初のものだけを取得する。
‘list’――検索されるデータのリストを得る。
‘count’――検索されるデータ数を得る。
‘all’の場合、前回やったようなデータ構造になりますが、’first’の場合は、最初のデータだけが連想配列として渡されます。また’list’は、プライマリキーの項目をキーとして、最初の項目の値だけを連想配列としてまとめたものが返されます。’count’は、もちろん整数値です。
これらは、それぞれ取得するデータの構造が違っているので注意が必要でしょう。’all’は先ほどやったので、ここでは’list’の例を上げましょう。indexアクションを下のリストのように修正してみてください。全データのnameだけが一覧表示されます。
index.ctpでのデータの表示部分を見ればわかりますが、ここでは$datasからデータを取り出し、その値をただ出力しているだけです。ここではプライマリキーのid項目はint値になっていますから、’list’の値は、$data[1]=’tuyano’というように、単純にnameがまとめて保管されている配列になっているわけです。
find( オプション , パラメータ設定 );
第1引数には、検索し取得するデータに関する指定を示すテキストが用意されます。これは以下のようなものがあります。
‘all’――検索されるすべてのデータを取得する。
‘first’――検索されるデータの最初のものだけを取得する。
‘list’――検索されるデータのリストを得る。
‘count’――検索されるデータ数を得る。
‘all’の場合、前回やったようなデータ構造になりますが、’first’の場合は、最初のデータだけが連想配列として渡されます。また’list’は、プライマリキーの項目をキーとして、最初の項目の値だけを連想配列としてまとめたものが返されます。’count’は、もちろん整数値です。
これらは、それぞれ取得するデータの構造が違っているので注意が必要でしょう。’all’は先ほどやったので、ここでは’list’の例を上げましょう。indexアクションを下のリストのように修正してみてください。全データのnameだけが一覧表示されます。
index.ctpでのデータの表示部分を見ればわかりますが、ここでは$datasからデータを取り出し、その値をただ出力しているだけです。ここではプライマリキーのid項目はint値になっていますから、’list’の値は、$data[1]=’tuyano’というように、単純にnameがまとめて保管されている配列になっているわけです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※indexメソッド function index(){ $this->layout = "Sample"; $this->set("header_for_layout","Sample Application"); $this->set("footer_for_layout","copyright by SYODA-Tuyano. 2011."); $datas = $this->MySampleData->find('list'); $this->set('datas',$datas); } ※index.ctp <h1>Index Page</h1> <p>MySampleData Index View.</p> <table> <?php foreach ($datas as $data): ?> <tr> <td><?php echo $data; ?></td> </tr> <?php endforeach; ?> </table>
※関連コンテンツ
「初心者のためのCakePHP2 プログラミング入門」に戻る