我想使用带有Paginator组件的数组。我正在使用Datasources插件,我创建了 Fake 模型:
<?php
/**
* A Fake model.
*/
class Fake extends AppModel {
public $useDbConfig = 'arraySource';
public $records = array(
array('id' => 1, 'name' => 'Alfa', 'height' => 300, 'width' => 300),
array('id' => 2, 'name' => 'Beta', 'height' => 200, 'width' => 100),
array('id' => 3, 'name' => 'Gamma', 'height' => 450, 'width' => 200),
array('id' => 4, 'name' => 'Omega', 'height' => 600, 'width' => 50)
);
}
在控制器上:
<?php
class ExampleController extends AppController {
public $components = array('Paginator');
public $uses = array('Fake');
public function justatest() {
$this->Paginator->settings = array(
'order' => array('id' => 'desc'),
'limit' => 2
);
$records = $this->Paginator->paginate('Fake');
$this->set(compact('records'));
}
现在,组件正确检索数据。 “限制”条件正常工作。什么不起作用的是“订单”条件:它不起作用或我指示的条件,或根据用户输入对数据进行排序。
我无法理解我是否做错了或者我无法对使用ArraySource获得的数据进行排序。
EDIT 观点:
<table>
<tr>
<th><?php echo $this->Paginator->sort('id'); ?></th>
<th><?php echo $this->Paginator->sort('name'); ?></th>
<th><?php echo $this->Paginator->sort('height'); ?></th>
<th><?php echo $this->Paginator->sort('width'); ?></th>
</tr>
<?php foreach($records as $v): ?>
<tr>
<td><?php echo $v['Fake']['id']; ?></td>
<td><?php echo $v['Fake']['name']; ?></td>
<td><?php echo $v['Fake']['height']; ?></td>
<td><?php echo $v['Fake']['width']; ?></td>
</tr>
<?php endforeach; ?>
</table>
答案 0 :(得分:0)
从头顶开始,试试这个:
$this->Paginator->settings = array(
'order' => array('id DESC'),
'limit' => 2
);
根本不确定