Codeigniter Select_Sum返回“数组”而非数值?

时间:2011-06-14 01:44:03

标签: php mysql arrays codeigniter select

我需要为结果添加所有行。使用select_sum如下

这是模型

    function Dues_Paid_Tot($date)
{
    $query = $this->db->select_sum('Dues_Paid', 'Dues_Paid_Tot');
    $query = $this->db->get('Membership');
    return $query->result();
}

这是控制器

    function Fiscal2()
{
$date = $this->input->post('Select_Date');
    if($query = $this->report_model->fiscal_list($date))
    {
        $data['records'] = $query;
    }
$data['date'] = $this->input->post('Select_Date');
$data['Dues_Paid_Tot'] = $this->report_model->Dues_Paid_Tot($date);
$data['main_content'] = 'report_fiscal_view';
$this->load->view('includes/template', $data);
}

这是视图的相关代码

<?php echo $Dues_Paid_Tot; ?>

问题是,我没有显示Dues_Paid列中所有条目的总和,而是在我的视图中得到“数组”。

我哪里错了?

谢谢!

3 个答案:

答案 0 :(得分:3)

它仍然是一个查询,所以您仍然需要处理结果,尝试将模型更改为此...

function Dues_Paid_Tot($date)
{
    $query = $this->db->select_sum('Dues_Paid', 'Dues_Paid_Tot');
    $query = $this->db->get('Membership');
    $result = $query->result();

    return $result[0]->Dues_Paid_Tot;
}

答案 1 :(得分:1)

你没有做错任何事,这就是CodeIgniter的工作原理。来自manual on result()

  

此函数将查询结果作为对象数组返回,或者在失败时返回空数组。

因此,您要查找的信息包含在数组的第一个元素中的对象中。

如果您执行var_dum($data['Dues_Paid_Tot']);,您将看到如何访问您的价值,它可能会是这样的:

$data['Dues_Paid_Tot'][0]->some_name

答案 2 :(得分:1)

function Dues_Paid_Tot($date)
{
    $query = $this->db->select_sum('Dues_Paid', 'Dues_Paid_Tot');
    $query = $this->db->get('Membership');
    return $query->result();
}

<强> return $query->result();

  

此函数返回查询结果   作为一个对象数组,或一个空的   阵列失败。

有关详细信息,请参阅http://codeigniter.com/user_guide/database/results.html