Kar*_*ran 8 php pagination cakephp paginator cakephp-2.0
我正面临一个问题.我已经编写了分页代码.一切都按预期工作,但只有条件不起作用(只有特定条件)这是我的分页代码.
//declaration
public $paginate = array(
'limit' => 50,
'paramType' => 'querystring'
);
//use in action
$this->paginate['ApiLog'] = array('limit' => 50, 'order' => 'ApiLog.id DESC', 'paramType' => 'querystring');
$this->paginate['ApiLog']['conditions'] = array('ApiLog.log_type' => 2);
$this->paginate['ApiLog']['joins'] = array(
array(
'table' => 'users',
'alias' => 'User',
'type' => 'LEFT',
'conditions' => array('User.id = ApiLog.user_id')
)
);
$this->Paginator->settings = $this->paginate['ApiLog'];
$apilogs = $this->Paginator->paginate('ApiLog');
Run Code Online (Sandbox Code Playgroud)
此代码在开发环境中工作并且返回类型为2的日志,但在生产中它只返回类型为1的日志.我花了一整天时间来找出问题.如果我确实添加任何其他条件conditions array确实生效但不生效log_type.我打印查询日志,where clause总是显示log_type = '1'
我已经清除了缓存.任何帮助表示感谢,谢谢.
我已经解决了问题,这个问题是由于data type声明到数据库中造成的。在生产中它是tinyint(1)并且在开发中它给出了int(1)。它在两种环境中都在数据库中保存了正确的值,但条件tinyint(1)是仅使用 0 和 1,而不使用 2。
我不明白这背后的原因。
| 归档时间: |
|
| 查看次数: |
254 次 |
| 最近记录: |