2017-03-17 23 views
0

我正在嘗試創建一個博客,並且在每個博客中都顯示了最近在頁面底部創建的博客。有沒有辦法將這個數字限制在4個最近的博客中?因爲目前創建的所有博客都顯示在「最近的博客」區域。如何限制在CakePHP中創建的'最近的博客'的數量?

<div class="container" id="newsextra"> 
    <h4>MORE NEWS</h4> 
    <div class="row"> 

     <?php 
     if(!empty($error)){ 
     echo $error; 
    } 
    if (!empty($blogsinfos)) { 
    foreach ($blogsinfos as $blogs): ?> 

    <div class="col-md-3"> 
     <a href="/news-single/<?= h($blogs->id)?>"> 
     <img src="<?= h($blogs->mainimg)?>" class="img-responsive"> 
     <h5><?= h($blogs->title)?></h5> 
     <h6><?= h($blogs->created)?></h6> 
     </a> 
    </div> 

     <?php 
    endforeach; 
     } 
    ?> 
    </div> 
</div> 
+2

首先,去控制和發現從那裏'$ blogsinfos'被設置爲視圖的功能。然後,通過將限制設置爲4. – Aarrbee

+0

修改'$ blogsinfos'的查詢,您需要像這個示例一樣在請求中定義一個限制。 $ this-> find() - > limit(4) - > order(['date'=>'desc]) – Gransfall

+0

@Gransfall 你的意思是這樣嗎? $ this-> loadModel('Blogs'); $ opts1 ['conditions'] = array('Blogs.status'=> 1); $ blogsinfos = $ this-> Blogs-> find('all',$ opts1); $ this-> set('blogsinfos',$ blogsinfos); $ this-> set('_ serialize',['blogsinfos']); foreach($ blogsinfos as $ blogs){ $ proid = $ blogs ['id('''''''>'')] 「]; } –

回答

0

從控制器,你應該限制生成的帖子數量。謝謝@ Rik.esh的答案。

$this->loadModel('Blogs'); 
$opts1['conditions'] = array('Blogs.status' => 1); 
$opts1['limit'] = 4; 
$opts1['order'] = array('Blogs.created' => 'desc'); 
$blogsinfos = $this->Blogs->find('all',$opts1); 
$this->set('blogsinfos', $blogsinfos); 
$this->set('_serialize', ['blogsinfos']); 

foreach ($blogsinfos as $blogs) { 
    $proid = $blogs['id']; 
} 
-1

試試這個

$opts1['order'] = 'Blogs.created desc'; 
相關問題