2017-12-14 15 views
1

ページネーションに問題があります。 これは私のコードです:Phalcon foreachでページングを続ける

<?php foreach($paginator->items as $key => $item): if(empty($item->getTvguide($params)->toArray())) continue; ?> 
     <div class="col-md-6"> 
      <div class="channel"> 
       <div class="channel-img pull-left"> 
        <img src="<?=$item->icon?>" alt="publica"> 
       </div> 
       <div class="clearfix channel-name"> 
        <h3><?=$item->title?></h3> 
       </div> 
       <div class="clearfix channel-program"> 
        <ul> 
         <?php foreach($item->getTvguide($params)->toArray() as $val): ?> 
         <li><span><?=$val['time']?></span> <?=$val['prog']?></li> 
         <?php endforeach; ?> 
        </ul> 
       </div> 
      </div> 
     </div> 
<?php endforeach; ?> 

場合、ループが継続して(空...)、私はページ上に空の結果を得ます。最初のページで結果を取得し、ページネーションで空の結果を削除するにはどうすればよいですか?

コードコントローラ:そのような

$data = TvguideChannel::find(); 

    $paginator = new PaginatorModel(
     array(
      "data" => $data, 
      "limit" => $limit, 
      "page" => $curPage 
     ) 
    ); 

    $params = [ 
     'columns' => 'distinct(time) as time, prog', 
     'conditions' => $this->getType($this->request->get('type')) . ' AND ' . $this->getDay($this->request->get('day')) . ' AND ' . 'id_group = 13', 
     'order' => 'time ASC' 
    ]; 

    $items= $paginator->getPaginate(); 
+0

find()で条件を使用すると、 – baychae

答えて

0
$data = TvguideChannel::find([ 
'conditions' => $this->getType($this->request->get('type')) . ' AND ' . $this->getDay($this->request->get('day')) . ' AND ' . 'id_group = 13', 
'columns' => 'distinct(time) as time, prog', 
'limit' => $limit, 
'offset' => $curPage, 
'order' => 'time ASC' 
]); 

何かが、あなたの状態をサニタイズすることを忘れないでください。