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