В cakephp 3.xi не может делать порядок страниц в поиске
Это мой контроллер:
//AgentsController.php public function show() { $agents = $this->Agents->find() $this->set('agents', $this->paginate($agents)); }
И вот часть моего взгляда
//show.ctp <!-- ....... --> <table class="table table-striped"> <thead> <tr> <th> <?php echo $this->Paginator->sort('full_name', 'Nome', array('escape' => false)); ?> </th> <th> <?php echo $this->Paginator->sort('username', 'Email', array('escape' => false)); ?> </th> <th> <?php echo $this->Paginator->sort('regions', 'Regioni', array('escape' => false)); ?> </th> </tr> </thead> <!-- ....... -->
Где я не прав?
Paginator заблокирует любую попытку сортировки по столбцу, который не существует в первичной таблице запроса, который вы используете. В этом случае у вас есть 2 варианта. Первый вариант – изменить ссылки сортировки, чтобы указать, что столбец принадлежит связанной таблице:
<?php echo $this->Paginator->sort('Users.full_name', 'Nome'); ?>
Или вы можете указать это в компоненте, чтобы разрешить сортировку по определенному набору столбцов:
$this->paginate = ['sortWhitelist' => ['full_name', 'username']]
Пытаться:
$this->paginate = ['sortWhitelist' => ['full_name','username','regions'],'limit' => 3];
Это также установит предел разбивки на страницы.