我需要在Codeigniter的连接查询中使用if语句。我尝试这个查询…
$partners = $this->db->select("h.partner_id,hd.id as detail_id,v.*, hd.handshake_id ,sum(if(hd.result = '0',1, 0)) AS not_tested ,sum(if(hd.result = '1',1, 0)) AS positive,sum(if(hd.result = '2',1, 0)) AS negative", FALSE)
->from("handshake h")
->join("visitor v", 'IF(h.visitor_id = "'.$visitor_data['id'].'", h.partner_id = v.id , h.visitor_id = v.id ) ', 'left',FALSE)
->join("handshake_detail hd", ' hd.handshake_id = h.id AND hd.visitor_id <> "'.$visitor_data["id"].'"', 'left',FALSE)
->where("h.visitor_id", $visitor_data['id'])
->or_where("h.partner_id", $visitor_data['id'])
->group_by("h.partner_id")
->get()->result_array();
如果我们在MySQL中编写上述查询,它可以工作,但当我尝试使用Codeigniter语法时,它会生成这样错误...
您访问的页面不存在。查看参考手册中的“函数名解析和解析”部分
所以请帮助找出Codeigniter查询正确语法。
2条答案
按热度按时间jdg4fx2g1#
我的工作问题是
798qvoo82#
使用单引号和假参数