使用 codeigniter 中的 where 条件计算非空值
Posted
技术标签:
【中文标题】使用 codeigniter 中的 where 条件计算非空值【英文标题】:count the not null value using where condition in codeigniter 【发布时间】:2017-02-26 22:17:39 【问题描述】:我正在编写一个函数来计算带有 where 条件的空列,但是这个函数有问题
protected function _get_mcq_attept_count2( $mcq_id)
$this->load->model('museranswer');
return $this->museranswe>count_by(array('mcq_id'=>$mcq_id,'bookrefrence!='=>" "));
这个函数进行了查询
SELECT COUNT(*) AS `numrows`
FROM `user_answer`
WHERE `mcq_id` = '321'
AND `bookrefrence` != ' '
此查询返回空列值
【问题讨论】:
***.com/questions/2489453/… 看看这个 试试这个:$this->museranswe>count_by(array('mcq_id'=>$mcq_id,'bookrefrence IS NOT NULL'));
不工作请给我其他解决方案。谢谢
你能在museranswe
模型中展示你的count_by
方法吗?
【参考方案1】:
像这样array("mcq_id" => "$mcq_id", "bookrefrence IS NOT NULL" => null)
更改您的查询。希望你能得到正确的答案。如果它不起作用,请与我们分享您的模型。
【讨论】:
【参考方案2】:I hope this code work for it bcz in code-igniter i always use like this .
protected function _get_mcq_attept_count2($mcq_id)
$this->load->model('museranswer');
$where = array('mcq_id'=>$mcq_id);
return $this->museranswe>count_by($where);
/******************* FOR MODEL *********************/
public function count_by($where)
$this->db->select('count(mcq_id) as numrows');
$this->db->from('user_answer');
$this->db->where($where);
$this->db->where('bookrefrence !=',' ');
$qry = $this->db->get();
return $qry->result_array();
【讨论】:
【参考方案3】:return $this->museranswer->count_by(array('mcq_id'=>$mcq_id,'length(bookrefrence)>2'));
【讨论】:
以上是关于使用 codeigniter 中的 where 条件计算非空值的主要内容,如果未能解决你的问题,请参考以下文章
CodeIgniter 或 Ignite Datatables 中的长尾 where 子句
在CodeIgniter中调用未定义的方法CI_DB_mysqli_result :: where()
使用多个 WHERE 子句更新 Codeigniter 中的批处理
查询中的 WHERE 子句在 CodeIgniter 3 中无法正常工作