我想知道我的语法是否正确,这是我的模型,我使用活动记录。我想总结选择中的"金额"列,但它对我不起作用。我想知道我可能做得对吗?我应该分开求和部分吗?
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();
}
如果您提供正在获得的输出,调试会更容易,但我的直觉表明问题就出在列名中。
编辑:您似乎也总结了错误的列。请参阅更新的代码。