1

当我将它用作视图时,我从表中获得了一个视图,该视图在分页(Paginator->sort())中运行良好。但是当我更改为一个元素时,它会抛出错误:

Warning (2): array_merge() [function.array-merge]: Argument #1 is not an array [CORE\cake\libs\view\helpers\paginator.php, line 194]<br>
Warning (2): array_merge() [function.array-merge]: Argument #2 is not an array [CORE\cake\libs\view\helpers\paginator.php, line 194]<br>
Warning (2): array_merge() [function.array-merge]: Argument #1 is not an array [CORE\cake\libs\view\helpers\paginator.php, line 378]<br>
Warning (2): array_merge() [function.array-merge]: Argument #2 is not an array [CORE\cake\libs\view\helpers\paginator.php, line 378]<br>

代码与以前完全相同,但我当然更改了一些代码,如下所示:

型号:添加了下一条语句

var $helpers = array('Paginator');

控制器:更改了分页子句以将值返回给元素

return $collaborations = $this->paginate('Collaboration');

元素:将请求操作添加到元素的开头,另一行是我如何调用parination sort

<?php $collaborations = $this->requestAction('/collaborations/calendar'); ?>
<?php echo $this->Paginator->sort('Pvm','Collaboration.start_date'); ?>

为什么我的分页排序功能不起作用?我是否声明了其他内容?我做了一些谷歌搜索,我发现分页器可能无法查看/查找数据模型(在某处声明),或者它需要分配一些参数?

提前致谢 :)

4

2 回答 2

0

我厌倦了试图解决这个问题。我改变了整个应用程序逻辑,现在它工作正常。元素中的分页没有问题(根本没有分页元素),我不必使用 requestAction 方法 - 我读到它对性能不利,应该避免。感谢你的帮助 :)

于 2012-02-06T16:40:49.913 回答
0

查看 cakephp 书:http ://book.cakephp.org/1.3/en/view/1231/Pagination

您必须在控制器中设置 paginate 变量,然后使用方法 paginate 来填充视图中的数据。

助手应该在控制器而不是模型中配置。

例如,您的控制器类应如下所示:

class ColaborationController extends AppController {
    var $paginate = array( 'limit'=>25, 'order'=>array('Colaboration.start_date'=>'asc'));

    function some_action() {
        $this->set('collaborations', $this->paginate('Collaboration'));
    }
}

而你的观点:

<?php echo $this->Paginator->sort('Pvm','collaboration.start_date'); ?>
于 2012-02-05T18:58:38.130 回答