public $paginate = [
設定名 => 値,
設定名 => 値,
……
];
limit => 数字1ページ当たりのエンティティ数を指定します。これにより、paginateメソッドで指定した数だけエンティティが取り出されるようになります。order => [ フィールド => 'asc' または 'disc', フィールド => ……]並び順を設定するためのものです。これは連想配列になっており、並び替えの基準となるフィールド名に'asc'または'disc'のいずれかの値を指定します。
fields => [ フィールド1, フィールド2,……]取得するフィールドを指定するためのものです。findメソッドなどではフィールド名の配列を用意することで特定のフィールドの値だけを抜き出せますが、あれと同様の働きをPaginatorに持たせることができます。'limit' => 5これで、1ページあたりの表示数を「5」に設定しています。'order' => [これで、nameフィールドを使って昇順にエンティティを並べ替えます。orderのフィールド名は、単に「name」ではなく、Persons.nameというように「クラス.プロパティ」という形で記述しましょう。これで、指定の項目を使ってエンティティを並べ替え、そこから必要なエンティティを取り出し表示できます。
'Persons.name' => 'asc'
]
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
use App\Controller\AppController;
use Cake\Datasource\ConnectionManager;
class PersonsController extends AppController
{
public $paginate = [
'limit' => 5,
'order' => [
'Persons.name' => 'asc'
]
];
public function initialize()
{
parent::initialize();
$this->loadComponent('Paginator');
}
public function index()
{
$this->set('persons', $this->paginate());
}
}
| << 前へ | 次へ >> |