/ / item de contagem da tabela de relação no codeigniter 3 - banco de dados, codeigniter, relação

conta o item da tabela de relações no codeigniter 3 - database, codeigniter, relation

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 № 1

Primeiro, 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!