我在模型中有这个查询:
Run Code Online (Sandbox Code Playgroud)public function Games() { $q = $this->db->select('games.id, games.title, games.slug, games.dev_id, games.dev, games.plat_id, games.plat'); $q = $this->db->from('games'); $q = $this->db->join('rates', 'games.id = rates.game_id'); $q = $this->db->select_avg('rates.rate'); $q = $this->db->get();
return $q->result();
}
Run Code Online (Sandbox Code Playgroud)
我的目标是列出所有内容games,另外rate从rates可用时获得平均值.现在它只显示两个表中的那些行.我怎么解决这个问题?
使用此说明
$this->db->select('games.id, games.title, games.slug, games.dev_id, games.dev, games.plat_id, games.plat');
$this->db->select_avg('rates.rate');
$this->db->from('games');
$this->db->join('rates', 'games.id = rates.game_id','left');
$this->db->group_by('rates.game_id');
$q = $this->db->get();
Run Code Online (Sandbox Code Playgroud)
左连接将带来多个结果.使用avg和group by将限制为每条记录只获取一行.
| 归档时间: |
|
| 查看次数: |
481 次 |
| 最近记录: |