如何在codeigniter中的活动记录中使用sum?

时间:2015-01-17 08:21:42

标签: php 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 } ?>

1 个答案:

答案 0 :(得分:-1)

整体查询似乎是正确的,但列名对我来说不合适。不要命名列sum,而是尝试将其命名为其他内容(因为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();


    }

如果你提供的输出会更容易调试,但我的直觉就是列名中的问题就在那里。

编辑:似乎你总结了错误的专栏。请参阅更新的代码。