php-codeigniter,如何获取多个查询并从模型中计算它

php-codeigniter,如何获取多个查询并从模型中计算它,php,mysql,codeigniter,Php,Mysql,Codeigniter,我是Codeigniter的新手。我试图让我的模型返回两个查询,一个是数据本身,也就是表中的一些注释,另一个是计算字段。并返回表单的输出(非常好、好和坏)。与他有关的警官姓名的投票。问题是,当我从三个不同的查询中使用count(*)时,结果仅为null。 这是来自我的模型的查询 $this->db->select('a.id_poll') ->select('a.poll') ->select('a.dat

我是Codeigniter的新手。我试图让我的模型返回两个查询,一个是数据本身,也就是表中的一些注释,另一个是计算字段。并返回表单的输出(非常好、好和坏)。与他有关的警官姓名的投票。问题是,当我从三个不同的查询中使用count(*)时,结果仅为null。

这是来自我的模型的查询

$this->db->select('a.id_poll')
                ->select('a.poll')
                ->select('a.date')
                ->select('a.id_officer')
                ->select('b.officer_name')
                ->select('c.id_service')
                ->select('c.service_name')
                ->select('count(a.poll) as verygood')
                ->where('b.officer_name', $officer['officer_name'])
                ->where('a.poll','verygood')
                ->select('count(a.poll) as good')
                ->where('b.officer_name', $officer['officer_name'])
                ->where('a.poll','good');
                ->select('count(a.poll) as bad')
                ->where('b.officer_name', $officer['officer_name'])
                ->where('a.poll','bad');
$this->db->from('tbl_poll as a');
$this->db->join('tbl_officer as b', 'a.id_officer = b.id_officer');
$this->db->join('tbl_service as c', 'b.id_service = c.id_service');
return $this->db->get()->result_array();
这是我想要的输出:

Officer_name | Service |        Polls          |
             |         | Verygood | Good | Bad |
Bella        | Payments|    3     |  2   |  1  |
Christy      |   CS    |    5     |  3   |  0  |
ETC.         |   etc   |    3     |  3   |  3  |
有人能帮助我,如何做到这一点,或修复我目前的代码

提前谢谢你

对不起,我的英语太差了

这是你的电话号码 试试这个,可能会有帮助

$this->db->select('a.id_poll,a.poll,a.date,a.id_officer,b.officer_name,c.id_service,c.service_name,count(a.poll) as verygood,count(a.poll) as good,count(a.poll) as bad');
$this->db->from('tbl_poll as a');

$this->db->join('tbl_officer as b', 'a.id_officer = b.id_officer');
$this->db->join('tbl_service as c', 'b.id_service = c.id_service');

$this->db->where('b.officer_name', $officer['officer_name'])
$this->db->where('a.poll','verygood')

$this->db->where('b.officer_name', $officer['officer_name'])
$this->db->where('a.poll','good');

$this->db->where('b.officer_name', $officer['officer_name'])
$this->db->where('a.poll','bad');

$query = $this->db->get();

$result = $query->result_array();

//To check the resutl for test purpose only

echo "<pre>";  print_r($this->db->last_query()); echo "</pre>";  // To check the query
echo "<pre>";  print_r($result); echo "</pre>";
$this->db->select('a.id\u poll,a.poll,a.date,a.id\u officer,b.officer\u name,c.id\u service,c.service\u name,count(a.poll)as verygood,count(a.poll)as good,count(a.poll)as good,count(a.poll)as bad');
$this->db->from('tbl_poll as a');
$this->db->join('tbl_officer as b','a.id_officer=b.id_officer');
$this->db->join('tbl_服务为c','b.id_服务=c.id_服务');
$this->db->where('b.officer\u name',$officer['officer\u name'))
$this->db->where('a.poll','verygood')
$this->db->where('b.officer\u name',$officer['officer\u name'))
$this->db->where('a.poll','good');
$this->db->where('b.officer\u name',$officer['officer\u name'))
$this->db->where('a.poll','bad');
$query=$this->db->get();
$result=$query->result_array();
//检查Resultl仅用于测试目的
回声“;打印($this->db->last_query());回声“;//检查查询
回声“;打印(结果);回声“;

结果是={“id\u poll”:null,“poll”:null,“date”:null,“id\u officer”:null,“officer\u name”:null,“id\u service”:null,“service\u name”:null,“verygood”:“0”,“good”:“0”,“bad”:“0”}@Ariakun你们能不能请你们创建数据库表结构或者你们能不能创建SQLFIDLE,这样我就可以得到你们想要做的事情?