CakePHP-过滤传递的URL中的参数

CakePHP-过滤传递的URL中的参数,cakephp,cakephp-2.0,zoneminder,Cakephp,Cakephp 2.0,Zoneminder,我正在使用一个第三方PHP服务器,它通过CakePHP 2.x实现了自己的API 看起来CakePHP接受查询参数,即使它不在控制器端 例如,当我在浏览器中调用此URL时 https://server/api/logs.json?sort=TimeKey&direction=desc 它返回一个基于时间键的降序排序列表,如下所示: {"logs":[{"Log":{"TimeKey":"1486576200.482136","Component":"zma_m5","ServerId"

我正在使用一个第三方PHP服务器,它通过CakePHP 2.x实现了自己的API

看起来CakePHP接受查询参数,即使它不在控制器端

例如,当我在浏览器中调用此URL时

https://server/api/logs.json?sort=TimeKey&direction=desc
它返回一个基于时间键的降序排序列表,如下所示:

{"logs":[{"Log":{"TimeKey":"1486576200.482136","Component":"zma_m5","ServerId":"0","Pid":"10931","Level":"0","Code":"INF","Message":"Deck Camera: 4138848 - Opening new event 66155, section start","File":"monitor.cpp","Line":"1532"}} <etc>
{“logs”:[{“Log”:{“TimeKey”:“1486576200.482136”,“Component”:“zma_m5”,“ServerId”:“0”,“Pid”:“10931”,“Level”:“0”,“code”:“INF”,“Message”:“甲板摄影机:4138848-打开新事件66155,节开始”,“文件”:“monitor.cpp”,“Line”:“1532”}
我想知道是否有可能构造一个查询URL,该URL也可以应用“条件”,即只显示“Code=ERR”的字段,而不必更改控制器代码?考虑到其第三方,我的第一选择是不必更改它并通过我构造的URL处理它

控制器的实现是:


我想知道是否有可能构造一个也可以应用“条件”[…]的查询URL

我不熟悉ZoneMinder,但通常情况下,对于引用的代码,这是不可能的

默认情况下,分页器组件仅支持
排序
方向
限制
页面
选项

<?php
App::uses('AppController', 'Controller');

/**
 * Logs Controller
 *
 * @property Log $Log
 * @property PaginatorComponent $Paginator
 */
class LogsController extends AppController {

/**
 * Components
 *
 * @var array
 */
    public $components = array('Paginator', 'RequestHandler');
    public $paginate = array(
        'limit' => 100,
        'order' => array( 'Log.TimeKey' => 'asc' ),
        'paramType' => 'querystring'
    );

/**
 * index method
 *
 * @return void
 */
    public function index() {
        $this->Log->recursive = -1;
        $this->Paginator->settings = $this->paginate;

        $logs = $this->Paginator->paginate('Log');
        $this->set(compact('logs'));
    }

    // ...
}