我想知道如何仅在该页面中对表头进行排序而不对整个表进行排序。这可能在cakephp中有可能吗?请给我看一些示例代码。我的观点是
<?php
echo $url = $this->Paginator->sort('ID', 'id',array('direction' => 'desc'));
$arrow = getArrow($url);
?>
This is my Controller:
$this->paginate = Set::merge($this->paginate, array('OrderFinalized' => array(
'limit'=>4,
'conditions' => $condition_ary,
'joins' => array(
array(
'table' => 'order_entry_headers',
'alias' => 'OrderEntryHeaders2',
'type' => 'inner',
'foreignKey' => false,
'conditions' => array('OrderEntryHeaders2.id = OrderFinalized.order_entry_headers_id'),
'order' => array(
'OrderEntryHeaders2.id'=> 'desc'
)
),
这是查询:
$result = $this->OrderEntryHeader->query("SELECT (value+1) as val FROM order_entries_seq ORDER BY OrderEntryHeader.id desc ");
当我对第一页降序排序时,我从数据库table得到最后的结果。我想只排序该页面的结果。导航时不应该改变。
现在姓名(第1页)ASC
1 A.
2 B.
3 C.
4 D
DESC ID名称 4 D. 3 C. 2 B. 1 A
答案 0 :(得分:1)
您想要的是从数据库中检索数据然后使用排序。最简单的方法是使用JavaScript。
您需要像
这样的前端/客户端表格分类器http://tablesorter.com/docs/#Demo
是否仍然可以使用sort函数?
可以在CakePHP中,在array sort
中制作afterFind method