libro
www.tuyano.com
初心者のためのCakePHP2 プログラミング入門

データを検索する (2/4)

作成:2011-11-21 08:13
更新:2011-12-06 19:37

■‘all’で取り出されたデータの構造

取り出されたデータをそのままprint_rで書きだしていますので、表示されたデータを良く調べてみましょう。入れ子構造の配列になっていることがわかるでしょう。この構造を整理するとこうなります。

1. データは、配列となっています。各配列に、それぞれのデータがまとめられています。
2. 配列内のデータは、モデル名をキーとする連想配列になっています。ここでは、MySampleDataをキーとして、1つ1つのデータが保管されています。

3. このMySampleDataキーの値は、やはり連想配列になっており、テーブルの各項目名をキーにして、それぞれの値が保管されています。

――どうですか。ずいぶんと深い構造になっていることがわかりますね。この構造さえわかれば、データを整理して表示させるなどすることは十分可能でしょう。実際の利用例として、先ほどのindex.ctpの修正例を下に掲載しておきます。アクセスすると、各データがテーブルにきれいに整理され表示されます。

注意して欲しいのは、これは「find(‘all’)」で得られたデータの構造である、という点です。findには他にもオプションがあるのですが、’all’でない場合は、またデータの構造が微妙に違ってきたりします。’all’のように「複数のデータが取得される」という場合の基本構造、と考えるとよいでしょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※index.ctp

<h1>Index Page</h1>
<p>MySampleData Index View.</p>
<table>
<?php foreach ($datas as $data): ?>
  <tr>
    <td><?php echo $data['MySampleData']['name']; ?></td>
    <td><?php echo $data['MySampleData']['mail']; ?></td>
    <td><?php echo $data['MySampleData']['tel']; ?></td>
  </tr>
<?php endforeach; ?>
</table>

※関連コンテンツ

「初心者のためのCakePHP2 プログラミング入門」に戻る