Eu quero contar cada postagem dentro de uma categoria no codeigniter 3 Meu modelo agora é:
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();
}
Estou tentando imprimir o menu "arquivo" em vista, no meu controlador
$data["category"] = $this->category_model->get_category();
mas isso imprime todos os títulos das categorias, incluindo os vazios. Como posso imprimir apenas a categoria com postagens?
Respostas:
2 para resposta № 1Primeiro, você precisa obter a categoria e uni-la às postagens e, em seguida, obter todas as categorias que não são nulas e agrupá-la para ver os valores únicos. Você pode tentar isto:
$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();
Deixe-me saber se você encontrou algum erro. Obrigado!