codeigniter3のカテゴリ内の各投稿をカウントしたい私のモデルは次のとおりです。
public function get_category()
{
$query = $this->db->get('category');
return $query->result_array();
}
public function getPostByCategory($id)
{
$query= $this->db->select("*")
->from('post')
->join('category','category.id = post.category_id')
->where('post.category_id',$id)
->get();
return $query->result_array();
}
コントローラで「アーカイブ」メニューを表示して印刷しようとしています
$data['category'] = $this->category_model->get_category();
しかし、これは空のものを含むすべてのカテゴリータイトルを印刷します。投稿のあるカテゴリのみを印刷するにはどうすればよいですか?
まず、カテゴリを取得して投稿と結合し、次にnull以外のすべてのカテゴリを取得してから、グループ化して一意の値を表示する必要があります。あなたはこれを試すことができます:
$this->db->select("category.id, category.title")
->from('category')
->join('post','category.id = post.category_id')
->where(array('post.category_id !=' => NULL, 'category.id !=' => NULL))
->group_by(array("category.id", "category.title"))
->get();
エラーが発生した場合はお知らせください。ありがとう!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加