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

CRUDの基本について (3/9)

作成:2015-09-19 11:08
更新:2015-09-19 11:08

■エンティティの一覧表示(Read)とindexメソッド

続いて、エンティティの一蘭を表示する「Read(取得)」です。これは、indexアクションとして用意することにしましょう。

まずは、コントローラー側のメソッドの追加です。PersonsControllerクラス内に下のリストのようにindexメソッドを追加して下さい。

今回は、非常にシンプルです。ここではsetメソッドを使い、'persons'という名前で値を保管しているだけです。

問題は、保管している値です。ここでは、以下のような文が指定されています。
$this->Persons->find('all')

これは、Persons全エンティティを取り出すための処理です。「find」は、エンティティを検索し取得するためのメソッドです。このメソッドはいろいろな使い方ができるのですが、今回は「all」という引数を指定した使い方をしています。これは、全エンティティを検索するための書き方です。

このfind('all')で得られる値は、エンティティの配列になっています。これをそのままsetメソッドで'persons'という変数に設定してあります。後は、テンプレート側で、受け取った配列から値を取り出し表示していけばいいのです。

このようにfindを利用して得られるのは「Query」というオブジェクトで、これを利用して検索を行うのがCakePHP3の基本になっています。このQueryを使った検索の仕組みは「Query Builder」と呼ばれる機能として用意されています。データ検索については、次回、もっと掘り下げて説明する予定です。

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

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

●プログラム・リスト●

public function index()
{
    $this->set('persons', $this->Persons->find('all'));
}
※関連コンテンツ

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