0

データベースを取得しました。これはその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_driver のオブジェクトを文字列に変換できませんでした これを修正する方法はありますか? 前もって感謝します

4

3 に答える 3

2
function getGoals($id) 
{
    $this->db->select('COUNT(id) as TotalGoals');
    $this->db->where('spelerId', $id);
    $this->db->group_by('spelerId');
    $goals = $this->db->get('goals');;
    return $goals->row();
}

コントローラーでは、このようにアクセスします

$result = $this->mymodel->getGoals($id); 
echo $result->TotalGoals;
于 2013-05-09T11:27:17.393 に答える
0

別のアプローチ:

 $this->db->select('sum(goals) AS total_goals');
于 2013-05-09T12:10:25.050 に答える
0

試す;

function getGoals($id) {

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

    return $goals;
}
于 2013-05-09T11:21:10.877 に答える