ブログの投稿に2つのIDを渡す際に問題が発生しています。最初のIDは で、1つの投稿を表示し、2番目のIDは投稿数をカウントします。 それぞれはうまく機能しますが、2つを統合すると、間違った投稿 が選択されます。異なるモデルの2つの異なるIDをコントローラからビューに渡す方法
これは、これはポスト
class News_model extends CI_Model {
function get_one_news($news_id)
{
$this->db->select('*, news.id as id');
$this->db->from('news');
$this->db->join('users' , 'users.id = news.user_id');
$this->db->where('news.id' , $news_id);
$query = $this->db->get();
return $query->first_row('array');
}
function latestnews() {
$this->db->select("
news.*,users.*,comments.*,COUNT(comments.post_id) AS num_comments");
$this->db->from('news');
$this->db->join('users' , 'users.id = news.user_id');
$this->db->join('comments' , 'comments.post_id = news.id');
$this->db->group_by('comments.post_id');
$this->db->order_by('news.date_added','desc');
$this->db->limit(4);
$query = $this->db->get();
return $query->result_array();
}
}
をフェッチするモデルであり、ここで私のコントローラは
function view($id)
{
$data['news'] = $this->news_model->get_one_news($id);
$data["latest_news"] = $this->news_model->latestnews();
$data['comments'] = $this->m_comment->get_comment($id);
$data['content'] = 'single'; // template part
$this->load->view('includes/template',$data);
}
あるコメント
class News_model extends CI_Model {
function get_comment($id)
{
$this->db->select('comments.*,users.username');
$this->db->from('comments');
$this->db->join('users','users.id = comments.user_id', 'left');
$this->db->where('post_id',$id);
$this->db->order_by('date_added','asc');
$query = $this->db->get();
return $query->result_array();
}
}
を取得した最初のモデルのために私のコードです最後にビューファイル
<div id="sidebar" class="col-md-3 fix-left">
<!---- Start Widget ---->
<div class="widget wid-vid">
<div class="heading">
<h4>Latest News</h4>
</div>
<div class="content">
<div class="tab-content">
<div id="most" class="tab-pane fade in active">
<div class="post wrap-vid">
<?php if(count($latest_news)) {
foreach($latest_news as $l_news){ ?>
<div class="zoom-container">
<div class="zoom-caption">
<a href="<?php echo base_url()?bulletins/view/<?php echo $l_news['id']?>"></a>
</div>
<img src="<?php echo base_url('assets/images/'.$l_news['image'])?>"
style="height:80px;width:100px;"/>
</div>
<div class="wrapper">
<h5 class="vid-name"><a href="<?php echo base_url('bulletins/view/'.$l_news['id'])?>"><?php echo
substr(strip_tags($l_news['title']), 0, 15).'..';?></a></h5>
<div class="info">
<h6>By <a href="#"><?php echo $l_news['username']?></a></h6>
<span><i class="fa fa-calendar"></i><?php echo date('F jS, Y' , strtotime($l_news['date_added']))?></span>
<span><i class="fa fa-comment-o">/i><?php echo
$l_news['num_comments'];?></span>
</div>
</div>
<?php }}?>
</div>
</div>
</div>
</div>
</div>
私は援助を感謝します – vinn
あなたは各投稿のコメントの数を表示したいですか? –
カウントはすべての投稿について正しく機能していますが、私の問題は投稿をクリックすると別の投稿になります。 – vinn