【问题标题】:CakePHP filter paginate fieldsCakePHP 过滤分页字段
【发布时间】:2016-01-22 03:35:20
【问题描述】:

在 CakePHP v. 2.5.2 中,有没有更简单的方法来做这个检查?

if(!empty($this->passedArgs['somemodel.someatribute'])) {
    $paginate['conditions']['somemodel.someatribute'] = base64_decode($this->passedArgs['somemodel.someatribute']);
}

当我有很多字段时,列表会很长,我想避免这种情况。

【问题讨论】:

  • 通常你应该避免通过 URL 传递任何非 slugged 非 ascii 字符。应该为此使用查询字符串,它们不需要额外的处理(无需编码或解码)。

标签: php cakephp


【解决方案1】:

你不能只使用标准的foreach 循环吗?

foreach($this->passedArgs as $key => $value) {
    $paginate['conditions'][$key] = base64_decode($value);
}

或者尝试查看$this->request->params['pass'] 数组,它类似于$this->passedArgs

更多详情,请查看the CakePHP docs on routing

【讨论】:

  • 在您将其标记为正确后,我编辑了答案的第一部分(在“Alternatively”之前),因为第一部分是错误的。我假设第二部分对你有用?如果是这样,我可能想删除第一部分。
猜你喜欢
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 2013-06-15
  • 1970-01-01
  • 2014-03-15
  • 1970-01-01
  • 2012-09-25
相关资源
最近更新 更多