我偶然發現了Codeigniter的一個邏輯問題。 4個小時後,我想我應該在這裏問一下。Codeigniter:需要從視圖調用控制器功能
我的項目主頁包含:
- 熱門信息(屬性:名稱,標誌,節選)
- 頂級評每篇文章(屬性:會員名,頭像)
我的問題是獲取每篇文章的熱門評論。
如果我不使用代碼點火器,這是我會怎麼做:
<?php
foreach($posts as $post) {
echo 'Post Title: '.$post['title'].'<br/>';
$top_commenters = $this->get_top_commenters($post['id']);
foreach($top_commenters as $commenter) {
echo '<img src="'. $commenter['avatar'] .'"/><br/>';
}
}
?>
我想你注意到我傳遞的每個帖子的ID的功能,以獲得其頂部提意見。但是,在CodeIgniter中,我無法從視圖調用控制器。
我會使用的最後一個解決方案是Ajax。但我希望在這裏得到一些幫助。
在此先感謝!
更新:根據要求,這裏是我的模型功能和控制功能:
//Model Function
function get_popular_posts() {
$row = $this->db->query('
SELECT * FROM posts
INNER JOIN popular_posts ON posts.id = popular_posts.pid
ORDER BY rank DESC LIMIT 6
');
return $row->result_array();
}
//Model Function
function get_top_commenters($post_id){
$row = $this->db->query('
SELECT *
FROM users
WHERE username
IN (
SELECT username
FROM comments WHERE pid = '. $post_id .')
ORDER BY likes DESC LIMIT 6
');
return $row->result_array();
}
你能告訴我你的控制器和你用來獲取帖子的模型函數嗎? – bottleboot
請澄清爲什麼http://stackoverflow.com/questions/9986520/how-to-call-codeigniter-controller-function-from-view?rq=1和http://stackoverflow.com/questions/16366130/calling- a-controller-function-from-a-view-in-codeigniter?rq = 1和http://stackoverflow.com/questions/11682604/how-to-call-function-of-controller-in-view-using- codeignator不回答你的問題。 – Gordon
我知道爲什麼!但我需要幫忙解決。 – Sobiaholic