続いて、エンティティの一蘭を表示する「
Read(取得)」です。これは、
indexアクションとして用意することにしましょう。
まずは、コントローラー側のメソッドの追加です。
PersonsControllerクラス内に下のリストのように
indexメソッドを追加して下さい。
今回は、非常にシンプルです。ここでは
setメソッドを使い、
'persons'という名前で値を保管しているだけです。
問題は、保管している値です。ここでは、以下のような文が指定されています。
$this->Persons->find('all')
これは、
Personsの
全エンティティを取り出すための処理です。「
find」は、エンティティを検索し取得するためのメソッドです。このメソッドはいろいろな使い方ができるのですが、今回は「
all」という引数を指定した使い方をしています。これは、全エンティティを検索するための書き方です。
この
find('all')で得られる値は、エンティティの配列になっています。これをそのまま
setメソッドで
'persons'という変数に設定してあります。後は、テンプレート側で、受け取った配列から値を取り出し表示していけばいいのです。
このように
findを利用して得られるのは「
Query」というオブジェクトで、これを利用して検索を行うのがCakePHP3の基本になっています。この
Queryを使った検索の仕組みは「
Query Builder」と呼ばれる機能として用意されています。データ検索については、次回、もっと掘り下げて説明する予定です。