我从CakePHP框架开始。我想在我的网站上使用paginator,但我想在模型中进行所有操作。
当我在控制器中使用all时,可以:
public function index() {
$this->Paginator->settings = $this->paginate;
$data = $this->Paginator->paginate('MyModel');
$this->set('data', $data);
}
但是当我想从模型使用方法时遇到列问题:MyModel:
public function index() {
$this->Paginator->settings = $this->paginate;
$data = $this->Paginator->paginate($this->MyModel->getData());
$this->set('data', $data);
}
//模型方法
public function getData()
{
$data = $this->find('all');
return $data;
}
ofc当我显示没有paginate的方法时没问题:
public function index() {
$data = $this->MyModel->getData();
$this->set('data', $data);
}
答案 0 :(得分:1)
朋友,您正试图在"数组"上应用分页。不在模特身上。 Cakephp为模型实例的分页数据提供功能。由于模型数据事务方法具有数据库连接对象和分页组件管理该对象。