0
ここは私の状況です。私は2つのテーブルを持っています。私は2つのテーブルを結合しようとしていますが、これは成功しました。今私は値を追加する必要がありますが、私は表示するときに同じユーザーを繰り返すしたくありません。codeigniterはテーブルのグルーピングと合計を助ける必要があります
例テーブル:
表1:
users
[ id ][name ]
[ 1 ][John Doe]
[ 2 ][Jane Doe]
[ 3 ][Joe Doe]
表2:
activity_hours
[ id ][user_id][hours]
[ 1 ][ 1 ][ 3 ]
[ 1 ][ 2 ][ 1 ]
[ 1 ][ 3 ][ 4 ]
[ 1 ][ 1 ][ 2 ]
[ 1 ][ 2 ][ 3 ]
私は、活動時間から各ユーザーのすべての時間を追加したいのですが、マッチさせたいです金額は
ここに私の現在のコードです: Hours_mode l.php
$this->db->select('
users.id as id,
users.name,
activity_hours.hours
');
$this->db->from('users');
$this->db->join('activity_hours', 'users.id = activity_hours.user_id');
$query = $this->db->get();
return $query->result();
hours_veiw.php
foreach ($result as $activity) {
echo $activity->name.' : '.$activity->hours;
}
所望の出力:
John Doe : 5
Jane Doe : 4
Joe Doe : 4
== UPDATE ==
あなたはuser3774708ありがとうございます。あなたが提供した少しだけ私は残りを解決することができました。ここ は、私が変更するために必要なコードの残りの部分である: 私は変更:
activity_hours.hours
sum(activity_hours.hours) as hours
最終データベースクエリに
$this->db->select('
users.id as id,
users.name,
sum(activity_hours.hours) as hours
');
$this->db->from('users');
$this->db->join('activity_hours', 'users.id = activity_hours.user_id');
$this->db->group_by('users.id');
$query = $this->db->get();
return $query->result();