2014-04-04 23 views
2

我实现了Yii无限滚动扩展。它的工作正常。它在最后10个值处动态地从数据库滚动10乘10再重复一次。Yii无限滚动最后一行的值重复

我只是简单地打印文本值,但在最后一行,即最后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']; ?> 

然后我添加了我的扩展名下面

回答

0

当它遇到404错误时,无限滚动(和yii-infinite滚动)停止查询服务器。在下一页。 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()是你dataProvider,如果你有一些其他dataProvider请使用,它已被宣布后直接被取代。

+0

我仍然面临这个问题,在此先感谢您请详细说明您的代码。 –