Codeigniter获得一名球员的进球总数

Codeigniter获得一名球员的进球总数,codeigniter,phpmyadmin,Codeigniter,Phpmyadmin,我有一个数据库。这是它的mysql脚本。一个球员可以更多地出现在表格中,我想做的是得到这个球员所有进球的总和 脚本: CREATE TABLE IF NOT EXISTS `spelerswedstrijden` ( `Id` int(5) NOT NULL AUTO_INCREMENT, `spelerId` int(2) NOT NULL, `wedstrijdId` int(5) NOT NULL, `goals` int(5) DEFAULT NULL, `assisten` int(5

我有一个数据库。这是它的mysql脚本。一个球员可以更多地出现在表格中,我想做的是得到这个球员所有进球的总和

脚本:

CREATE TABLE IF NOT EXISTS `spelerswedstrijden` (
`Id` int(5) NOT NULL AUTO_INCREMENT,
`spelerId` int(2) NOT NULL,
`wedstrijdId` int(5) NOT NULL,
`goals` int(5) DEFAULT NULL,
`assisten` int(5) DEFAULT NULL,
`gelekaarten` int(5) DEFAULT NULL,
`rodekaarten` int(5) DEFAULT NULL,
 PRIMARY KEY (`Id`)
 )
我的型号代码:

function getGoals($id) {

    $this->db->where('spelerId', $id);
    $this->db->from('spelerswedstrijden');
    $goals = $this->db->select_sum('goals');;

    return $goals;
}
使用此代码会导致以下错误:类CI_DB_mysql_驱动程序的对象无法转换为字符串 有没有办法解决这个问题? 提前感谢

试试看

function getGoals($id) {

    $this->db->select_sum('goals');
    $this->db->where('spelerId', $id);
    $this->db->from('spelerswedstrijden');
    $goals = $this->db->get();

    return $goals;
}
在控制器中,您可以这样访问它

$result = $this->mymodel->getGoals($id); 
echo $result->TotalGoals;
另一种方法是:

 $this->db->select('sum(goals) AS total_goals');

这个函数返回一个数组+1,但有一个小的修正:
if($goals->num_rows>0){return$goals->row()}else{return 0;}
我的函数是这样的:getGoals($id){$This->db->select('COUNT(id)as TotalGoals');$This->db->where('spelerId',$id);$This->db->group_by('spelerId'))$goals=$this->db->get('spelerswedstrijden');在我的另一个模型$result=$this->spelerswedstrijden_model->getGoals($speler->Id)中返回$goals->row();}$speler->goals=$result->TotalGoals;它应该返回5,而不是返回2,我想这是因为我在数据库中有2行id。我发现它的第一行应该是$this->db->select('SUM(goals)as TotalGoals');谢谢你的帮助
 $this->db->select('sum(goals) AS total_goals');