我尝试将paginate类用于CakePhp,其中查询结果由自定义方法创建,而不是传统的CakePHP方式。
最后我有一个数组。
我尝试将paginate应用到此数组中,但没有看到它分页:
$myArray = $this->myModel->SearchDatabaseData( );
$myArray = $this->paginate('myModel');
将查询转换为Component,因此它声明了Model实例
PaginatorComponent::validateSort() must be an instance of Model, instance of VerificacaoComponent given
我可以将CakePHP分页应用到自定义数组中吗?
我正在使用CakePhp 2.5。
答案 0 :(得分:1)
您需要使用Cakephp自定义查询分页。 这需要模型中的两个函数,一个是查询自己的,另一个是具有相同条件的计数查询。
当您尝试在模型中进行分页时,CakePhp在主AppModel中有2个全局函数,基本上您将覆盖这2个函数,在模型中重写它们。
此功能包括: paginate()和 paginateCount()
在模型中使用自定义版本覆盖AppModel功能后,您可以在控制器中使用常规 $ this-> YourModelName-> paginate(); 。
您可以在此StackOverflow问题中找到示例: Custom Query Pagination Cakephp
您可以在此处查看原始文档: http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html#custom-query-pagination