back

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

■エンティティの一覧表示(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」と呼ばれる機能として用意されています。データ検索については、次回、もっと掘り下げて説明する予定です。



(by. SYODA-Tuyano.)

※リストが表示されない場合

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

public function index()
{
    $this->set('persons', $this->Persons->find('all'));
}



   

記事のリストに戻る



PC Site G+ mail