我正在使用codeigniter來編碼我的網站,並且正遇到包版廣告。我知道如何在常規的,非「MVC」中執行此操作,而不是OOP PHP,但是我在Codeigniter中苦苦掙扎。Codeigniter - 使用模型中的查詢結果中的id在同一模型中的不同功能中查詢
我有blog_model.php,它有一個函數可以從我的數據庫中檢索日期時間,將它分解爲一個數組,以便我可以在模型之外使用它,並將它提供給CSS,其中有單獨的日曆圖標。每個日曆圖標由視圖中的月份編號加載(<div class='calendar-icon-$stats['date']
)。此函數還會從該單個帖子中提取大量註釋並將其輸出到數組中,以便我可以在視圖中顯示它。
public function get_stats($id) {
$this->db->select('id,datetime')->from('blog_posts')->where('id',$id);
$dquery = $this->db->get();
$dquery = $dquery->row_array();
$date = date('Y-m-d', strtotime($dquery['datetime']));
$stats = explode("-", $date); // This makes $stats[0] the year, $stats[1] the month and $stats[2] the day.
$stats['time'] = date('H:i', strtotime($dquery['datetime']));
$stats['comcount'] = $this->db->get_where('blog_comments', array('blogid' => $id));
$stats['comcount'] = $stats['comcount']->num_rows();
return $stats;
}
還有檢索最近三個條目的功能:
public function get_blog_last() {
$query = $this->db->order_by('id desc')->get('blog_posts',3);
return $query->result_array();
}
此代碼,然後裝入我的控制器,併發送至視圖中顯示:
$data['blog'] = $this->blog_model->get_blog_last();
$data['stats'] = $this->blog_model->get_stats($data['blog']);
$this->load->view('index',$data);
我面臨的問題是如何獲取get_stats()函數以運行我在索引頁上顯示的最後三個條目的每個條目。到目前爲止,我只能讓它運行其中的一個,因此我頭版上的所有三個條目具有相同的日期,相同的時間和相同數量的評論。我認爲將代碼放入模型中可以避免我在重新載入歸檔頁面(顯示所有月份的帖子)和主入口頁面時顯示該條目及其註釋的情況。
所以,在這裏最終的問題是:
- 如何運行某個網頁上的每個項目我有get_stats?
我也有點問題找出傳遞給我的get_stats()函數的正確值。
任何指導,將不勝感激。先謝謝你。
胡說。太簡單了!我覺得很愚蠢。非常感謝! – Jguy