我正在(与合作伙伴)开发一个将使用 Backbone.js 的 CakePHP 应用程序。
所以,基本上,我的蛋糕应用程序在很大程度上表现得像一个 JSON API。在控制器动作加载某个视图(尚未呈现数据)后,Backbone 对另一个控制器动作进行 AJAX 调用以获取数据。控制器返回 JSON。
(routes.php 文件有 mapResources 和 parseExtensions 行)
控制器代码
public function index(){
$company_id = $this->Session->read('Company.id');
$channel_ids = $this->Order->Channel->find('all', array('conditions' => array('Channel.company_id' => $company_id), 'fields' => array('Channel.id')));
$channel_ids = Set::extract('/Channel/id', $channel_ids);
$data = $this->paginate('Order', array('Order.fulfillment_status_id' => 1, 'Order.channel_id' => $channel_ids));
$this->set('orders', $data);
//In case of a JSON request
if($this->RequestHandler->ext == 'json') {
$this->autoRender = false;
echo json_encode($data);
}
}
这工作得很好,但是当我们试图用它实现分页时我们碰壁了。
- 我们如何生成分页链接?(如果我们通过 Backbone 进行,它不知道数据库中的总记录,因此不知道要生成多少个链接)
- “页码”应该如何烧录到AJAX调用中?它应该如何在控制器中破译?
真的卡在这里,我们将非常感谢您的帮助。