Yii无限滚动最后一行值重复

时间:2014-04-04 09:12:22

标签: php jquery yii infinite-scroll

我实现了Yii无限滚动扩展。它的工作正常。它动态地从数据库中滚动10×10,最后再重复10次。

我只打印文本值,但最后一行,即最后10个值重复一次。

我在这里添加了我的代码:

网站控制器

$criteria = new CDbCriteria;
                $total = Recipe::model()->count();

            $pages = new CPagination($total);
            $pages->pageSize = 10;
            $pages->applyLimit($criteria);

            $posts = Recipe::model()->findAll($criteria);

        $this->render('index', array(
                'posts' => $posts,
                'pages' => $pages,
            ));

我的索引页面:

<div id="posts">
<?php  foreach($posts as $rec):  ?>

 <?php $rec_id=$rec['recipe_id'];  $name=$rec['name']; ?>
<?php echo $name=$rec['name']; ?>

然后我在

下面添加了我的扩展程序

1 个答案:

答案 0 :(得分:0)

无限滚动(和yii-无限滚动)在遇到404错误时停止查询服务器。在下一页。 Yii框架不断返回页数大于结果的最后结果。

这就是为什么你会在结果的末尾看到重复的行...以防止这个代码添加到控制器中的相应操作。

if(isset($_GET['Model_page'])){
    if($model->search()->pagination->pageCount < $_GET['Model_page']+1){
        throw new CHttpException(404,'No More results');
    }
}

Model_page取代Post_page等取决于您的型号名称,而$model->search()dataProviderdataProvider,如果您有其他{{1}}请在声明之后直接使用它。