我需要为结果添加所有行。使用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列中所有条目的总和,而是在我的视图中得到“数组”。
我哪里错了?
谢谢!
答案 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