将结果数组计数到codeigniter中的字符串转换错误

时间:2016-09-15 14:35:57

标签: arrays string codeigniter

我在我的模型中使用此方法从我的数据库中获取计数结果:

   function total_members ()
   {
       $group_id = $this->input->post('group_id');
       $this->load->model('Member_model');
       $members = $this->Member_model->members($group_id);
       echo $members;
   }

在我的控制器中有这种方法:

<style>
    #test{
        background: red;
        height: 100px;
        width: 400px;
        transition: height 1s;   
    }

    #test.hide {
        height: 0;       
    }

</style>

<div id="test"> </div>

<button>Hide the Div</button>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.js"></script>
<script>


        $('button').click(function(){
            removeWithAnimate('#test');
        });


        function removeWithAnimate(id){
            $(id).addClass('hide');
            setTimeout( function(){
                    $(id).remove()
            },1000);;   
        }

</script>

我得到了这个奇怪的错误:

  

严重程度:4096   消息:类CI_DB_mysqli_result的对象无法转换为字符串   文件名:controllers / Payment.php

2 个答案:

答案 0 :(得分:1)

试试这个

模型

function members($group_id) {
    return $this->db->get_where('member', array('group_id' => $group_id))->num_rows();
}

控制器

function total_members() {
    $group_id = $this->input->post('group_id');
    $this->load->model('member_model');
    $members = $this->member_model->members($group_id);
    print_r($members);
}

在codeigniter中有num_rows()来计算行数。有关详细信息,请查看documentation

答案 1 :(得分:1)

您需要返回需要另一个调用的结果集。在这种情况下,我建议row()。试试这些修订过的功能。

function members($group_id)
{
    $this->db->where('group_id', $group_id);
    $query = $this->db->query('SELECT COUNT(group_id) as count FROM member');
    return $query->row();
}

function total_members()
{
    $group_id = $this->input->post('group_id');
    $this->load->model('Member_model');
    $members = $this->Member_model->members($group_id);
    if(isset($members))
    {
        echo $members->count;
    }
}

了解不同类型的结果集here