【发布时间】:2019-02-21 23:53:37
【问题描述】:
我正在使用 CActiveDataProvider 和 CDbCriteria 来搜索一些相关模型,使用多个相关模型。生成结果的代码如下:
$criteria->select = '*, ( 3959 * acos( cos( radians(' . $latitude . ') )
* cos( radians( latitude ) ) * cos( radians( longitude ) -
radians(' . $longitude . ') ) + sin( radians(' . $latitude . ') )
* sin( radians( latitude ) ) ) ) * 1.609344 AS distance';
//Basically just calculating distance from an input point
$criteria->with = array('keywords', 'coupons', 'jobs');
$criteria->order = 'distance asc';
$criteria->having = 'distance < 20';
$criteria->compare('name', $this->searchTerm, true, 'AND');
$dataProvider = new CActiveDataProvider('Store', array(
'criteria'=>$criteria));
搜索工作正常并按预期获得结果。问题是 CListview 正确报告了结果的数量,但无论如何都显示分页。 例如:'显示 31 个结果中的 1-7 个,并显示分页。单击第 2、3、4 页不会显示任何结果。
这是一个错误,还是我做错了什么?
【问题讨论】:
标签: yii