如何在代码点火器中的活动记录中使用总和


How to use sum in active records in codeigniter?

我想知道我的语法是否正确,这是我的模型,我使用活动记录。我想总结选择中的"金额"列,但它对我不起作用。我想知道我可能做得对吗?我应该分开求和部分吗?

function result_getAssessment()
    {
        $this->db->select('register.regnum,register.studentid,accountspayable.accountno,accountspayable.accounttype,accountspayable.amount,sum(amount) AS sum');
        $this->db->from('accountspayable');
        $this->db->join('register', 'accountspayable.regnum = register.regnum');
        $this->db->where('accountspayable.regnum','15459');
        $query=$this->db->get();
        return $query->result();

    }

这是我在视图中的称呼

<?php foreach ($query as $row){ ?>

                   <?php echo $row->regnum;?> <br>
                   <?php echo $row->studentid;?> <br>
                   <?php echo $row->accountno;?> <br>
                   <?php echo $row->accounttype;?>  <br>
                   <?php echo $row->amount;?><br>
                   <?php echo $row->sum;?><br>

    <?php } ?>

整体查询似乎是正确的,但列名对我来说看起来不正确。与其将列命名为sum,不如尝试将其命名为其他名称(因为sum是一个内置函数),或者至少在反引号中引用总和列,例如

function result_getAssessment()
    {
        $this->db->select('register.regnum,register.studentid,accountspayable.accountno,accountspayable.accounttype,accountspayable.amount,sum(accountspayable.amount) AS `sum`');
        $this->db->from('accountspayable');
        $this->db->join('register', 'accountspayable.regnum = register.regnum');
        $this->db->where('accountspayable.regnum','15459');
        $query=$this->db->get();
        return $query->result();

    }

如果您提供正在获得的输出,调试会更容易,但我的直觉表明问题就出在列名中。

编辑:您似乎也总结了错误的列。请参阅更新的代码。