php [cakephp:Paginator示例] CakePHP上PaginatorComponent的示例代码。 #cakephp
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php [cakephp:Paginator示例] CakePHP上PaginatorComponent的示例代码。 #cakephp相关的知识,希望对你有一定的参考价值。
<?php
/**
* Paginator
* @link [PaginatorComponent](https://book.cakephp.org/3.0/ja/controllers/components/pagination.html)
* @link [PaginatorHelper](https://book.cakephp.org/3.0/ja/views/helpers/paginator.html)
*/
// in AppController
public function initialize()
{
parent::initialize();
$this->loadComponent('Paginator');
}
// Controller method
public function index() {
$user = $this->Auth->user();
$query = $tihs->Articles->find()->where([
'Articles.user_id' => $user['id'], // フィルタリングはここでやんないとだめ
]);
$Articles = $this->paginate($query, [
'sortWhitelist' => ['Tags.name'], //関連エンティティのソート時はホワイトリストを設定
'contain' => ['Tags'],
'limit' => 10,
'order' => ['Articles.created' => 'desc']
]);
$this->set(compact('Articles'));
}
?>
<!-- View -->
<table class="mdl-data-table mdl-js-data-table mdl-shadow--2dp l-fitwidth t-font-size--small">
<thead>
<tr>
<th><?php echo $this->Paginator->sort('Articles.created', '投稿日') ?></th>
<th><?php echo $this->Paginator->sort('Articles.title', 'タイトル') ?></th>
<th><?php echo $this->Paginator->sort('Tags.name', 'タグ') ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($Articles ?? [] as $Article): ?>
<tr>
<td><?php echo h($Article->created->format('Y/m/d')) ?></td>
<td><?php echo h($Article->title) ?></td>
<td>
<?php echo h($Article->tag->name) ?>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
以上是关于php [cakephp:Paginator示例] CakePHP上PaginatorComponent的示例代码。 #cakephp的主要内容,如果未能解决你的问题,请参考以下文章
cakephp 3如何向paginator排序类添加active?
php [cakephp:AuthComponent示例] AuthComponent的示例代码。 #cakephp
cakephp简单示例
使Cakephp分页器记住传递的参数
使用 CakePHP 分页助手的引导分页
从分页的 CakePHP 控制器中找出有多少页的结果