使用 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", "bookrefr‌​ence 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 中无法正常工作

Where 子句 CodeIgniter 中的 Active Record 问题

从表中选择或在 codeigniter 中的 where 和运算符中选择